On Sat, 10 Jan 2004, Lincoln A. Baxter wrote:

> While this text is also in the perl 5.6.1 perlvar man page, I think that
> perl 5.6.0 does not infact use SA_RESTART (or at least for some reason
> our build of it did not).  Running truss -v all on Solaris 5.8 (sun4u
> hardware), reveals that our perl 5.6 does not pass SA_RESTART to the
> sigaction routine, and perl 5.8.x does.

Ok, the light just went on...  One must qualify the value of 'x' when 
speaking of perl 5.8.x!  In 5.8.0, use of SA_RESTART is a compile-time 
choice (not supported, apparently, by the Configure scripts), which 
explains why I'm not seeing the desired semantics.  In 5.8.1 and 5.8.2 it 
is, as you've inferred, a function of your runtime environment 
(PERL_SIGNALS=unsafe).

This begs the further question of why the notion of restartable system 
calls is tied so closely to Perl's newer "safe" signal semantics.  To me, 
these are orthogonal notions.  The principle of least surprise would 
suggest that they be decoupled, unless I'm overlooking the obvious.

Steve


Reply via email to