An Oracle blog about Solaris

What does ISSIG(FORREAL) do.

Chris Beal
Senior Principal Software Engineer
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:

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.