[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: weekend datadump at mea.tmt.tele.fi
> > > [talking of smtp becoming stuck, SIGALRM ineffectivity]
> > >
> > > It is possible that the Solaris uses POSIX sigaction(),
> > > and does REQUIRE usage of flag SA_NODEFER. The ALRM
> > > handler does after all do a longjump, and will not return
> > > from the signal handler per se...
>
> remember that BSD longjmp has traditionally unblocked signals, for
> precisely this reason. the Solaris version, true to heritage, does not.
> you must use sigsetjmp/siglongjmp to get the BSD behavior.
I have now using two approaches: using SA_NODEFER, and
releasing the sigmask explicitely, though I presume the
release in systems that know of SA_NODEFER is unnecessary.
I haven't yet checked on what purpose serves the explicite
definition of _POSIX_SOURCE in Solaris systems. I feel
it should be something that the compiler defines, like:
gcc -posix
> paul
> ---------------------
> paul fox american internet corporation
> pgf@american.com (home: pgf@foxharp.boston.ma.us)
/Matti Aarnio