What does ISSIG(FORREAL) do.
By Chris W Beal-Oracle on May 30, 2006
After my last blog I thought I could expand a bit on what ISSIG(FORREAL) does. That is: o stop for some other thread to do fork1(); return 0 when it's done. o stop because a job control stopping signal is present; return 0 after the process is continued with SIGCONT. o stop because /proc requested the thread or process to stop; return 0 when /proc continues the thread/process. o stop for watchpoint manipulation; return 0 when that's done. o stop because of a non-blocked pending signal that /proc cares about; return 0 if /proc cancels the signal when continuing the thread. o discard pending but ignored signals; return 0 when that's done. o Otherwise return 1 if there is still a signal or 0 if not. If ISSIG(FORREAL) returns non-zero, then there really is a non-ignored signal present so you really must take appropriate action (usually returning back to userland with EINTR). Technorati Tags: Solaris