Which system calls are not interrupted by a signal? Which system calls are not interrupted by a signal? unix unix

Which system calls are not interrupted by a signal?


What is the mechanism that kernel uses to decide which call is interruptible and which one is not? (if the story with "socket()" is true)

The task have bitmask, which can be set with set_task_state to TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE ( defined here ).

Is there a list of those kind of functions?

I don't think, that there is list of uninterruptible functions. You can search for usages of TASK_UNINTERRUPTIBLE ( like this )

Edit: example of checking this flag with signal_pending_state