%% Matthew Sanderson <[EMAIL PROTECTED]> writes:

  ms> I am too lazy to diff 3.80 and 3.81beta1 source - is it easy to
  ms> describe what's wrong/different with Tru64 and its signals? I'm
  ms> curious, and the info might come in useful some day.

The SIGRESTART flag is supposed to automatically restart system calls
like read(), etc. whenever a signal is caught, rather than returning
EINTR.  The GNU make configure looks for this flag and, if it's found,
assumes that the system implements the POSIX specification of
SIGRESTART.

Apparently Tru64 does define this flag but does not implement the proper
functionality.  It should be noted that neither does Solaris, although
they do better than Tru64 (apparently).  In fact, Linux seems to be
about the only OS I've found that _appears_ to do it 100% correctly.


So, the new version tries to handle this by writing loops around most of
the system calls that would require it, to rerun them if they get an
EINTR.  This is not 100% effective since there's no way to do this for
every function that might invoke a system call that could fail with
EINTR, but it appears to handle 99% or more of the cases.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to