On Tue, 2015-05-12 at 16:39 -0600, Daniel Drake wrote: > The X server frequently deals with SIGIO and SIGALRM interruptions. > If process execution is inside certain blocking system calls > when these signals arrive, e.g. with the kernel blocked on > a contended semaphore, the system calls will be interrupted. > > Some system calls are automatically restartable (the kernel re > -executes > them with the same parameters once the signal handler returns) but > only if the signal handler allows it. > > Set SA_RESTART on the signal handlers to enable this convenient > behaviour.
In principle SA_RESTART is so poorly specified that this might be sketchy; in practice, near as I can tell, nobody is insane enough to do restarts on select() and friends, so I think we'll be fine. Reviewed-by: Adam Jackson <[email protected]> - ajax _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
