Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
angrave
SystemProgramming
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
More
items
Signals Review Questions
Jump to bottom
Edit
New page
Anon edited this page
Jan 1, 2017
·
3 revisions
Topics
Signals
Signal Handler Safe
Signal Disposition
Signal States
Pending Signals when Forking/Exec
Signal Disposition when Forking/Exec
Raising Signals in C
Raising Signals in a multithreaded program
Questions
What is a signal?
How are signals served under UNIX? (Bonus: How about Windows?)
What does it mean that a function is signal handler safe
What is a process Signal Disposition?
How do I change the signal disposition in a single threaded program? How about multithreaded?
Why sigaction vs signal?
How do I asynchronously and synchronously catch a signal?
What happens to pending signals after I fork? Exec?
What happens to my signal disposition after I fork? Exec?
Wiki pages
Pages
91
Loading
Home
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
#Example Markdown
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
#Piazza: When And How to Ask For Help
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Arquitectura Personal de Conocimiento
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Part 2: Text Input And Output
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Part 3: Common Gotchas
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Part 4: Strings and Structs
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Part 5: Debugging
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming, Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
C Programming: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Deadlock Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Deadlock, Part 1: Resource Allocation Graph
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Deadlock, Part 2: Deadlock Conditions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Deadlock, Part 3: Dining Philosophers
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Exam Topics
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 2: Files are inodes
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 3: Permissions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 4: Working with directories
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 5: Virtual file systems
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 6: Memory mapped files and Shared memory
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 7: Scalable and Reliable Filesystems
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 8: Removing preinstalled malware from an Android device
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File System, Part 9: Disk blocks example
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
File Systems Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Files, Part 1: Working with files
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Filesystem: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Forking, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Forking, Part 2: Fork, Exec, Wait
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
HW0
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Informal Glossary
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Introduction to Container based Computing
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
IPC Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Kernel, Shells, Terminals Oh My!
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Memory Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Memory, Part 1: Heap Memory Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Memory, Part 2: Implementing a Memory Allocator
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Memory, Part 3: Smashing the Stack Example
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Memory: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Multi threaded Programming: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 2: Using getaddrinfo
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 3: Building a simple TCP Client
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 4: Building a simple TCP Server
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 5: Shutting down ports, reusing ports and other tricks
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 6: Building a web server
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 6: Creating a UDP server
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 7: Nonblocking I O, select(), and epoll
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking, Part 8: Protocols (TCP Handshaking, HTTP latency, Heart Bleed)
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Networking: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
OSI Model
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pipe: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pipes, Part 1: Introduction to pipes
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pipes, Part 2: Pipe programming secrets
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
POSIX, Part 1: Error handling
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Process Control, Part 1: Wait macros, using signals
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Processes Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Processes, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Programming Tricks, Part 1
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pthread Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pthreads, Part 1: Introduction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pthreads, Part 2: Usage in Practice
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Pthreads, Part 3: Parallel Problems (Bonus)
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
RPC, Part 1: Introduction to Remote Procedure Calls
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Sample program using pthread barriers
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Scheduling, Part 1: Scheduling Processes
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Scheduling, Part 2: Scheduling Processes: Algorithms
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Signals Review Questions
Topics
Questions
Loading
Signals, Part 2: Pending Signals and Signal Masks
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Signals, Part 3: Raising signals
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Signals, Part 4: Sigaction
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Signals: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization Concepts: Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization Review Questions
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 1: Mutex Locks
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 2: Counting Semaphores
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 3: Working with Mutexes And Semaphores
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 4: The Critical Section Problem
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 5: Condition Variables
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 6: Implementing a barrier
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 7: The Reader Writer Problem
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 8: Ring Buffer Example
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Synchronization, Part 9: Synchronization Across Processes
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
System Programming Jokes
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
System Programming Short Stories and Songs
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Systems Programming Bugs in Industry
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Test page
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Virtual Memory, Part 1: Introduction to Virtual Memory
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Virtualization, Part 1: Machine emulation
Uh oh!
There was an error while loading.
Please reload this page
.
Show 76 more pages…
Add a custom sidebar
Clone this wiki locally
You can’t perform that action at this time.