followup: stuck lmtpd processes

Henrique de Moraes Holschuh hmh at debian.org
Fri Sep 26 06:35:38 EDT 2003


On Fri, 26 Sep 2003, Tom wrote:
> On Wed, 24 Sep 2003, Henrique de Moraes Holschuh wrote:
> > With SYSV you will get the interrupted system call, unless you tell it
> > somehow not to do it (the SA_RESTART stuff).  If we are to accomodate the
> > BSDs, we can:
> >   1. Let them have the short end of the stick (they get what we have now,
> >      that is, deadlocks). Not good.
> >   2. Let them use the low-performance non-blocking mode (good solution).
> >   3. Find out how to get EINTR from BSD (it should be possible nowadays).
> >
> > As for old legacy systems (too old BSDs, SunOS 4, very old Linux), well, I
> > am inclined to simply ignore them.  Let them use solution (2) above.  That
> > is the least of their problems, given the amount of annoying and dangerous
> > bugs those old kernels have.
> 
>   #2 doesn't sound like a good option for anyone.  It is not clear from

It is tried and true, and the patch is here NOW.

> the context in this message whether you want restartable system calls or
> not.  BSD4.2 introduced restartable system calls.  BSD4.3 introduced
> siginterrupt() to disable restartable system calls for a certain signal.
> So even with SunOS 4, you'd have the option.

I have the code ready for POSIX.  If anyone who uses SunOS and BSD4.2/4.3
wants to contribute the autoconf code and changes to get non-restartable
syscalls for a signal, they're welcome... I don't like to write code I can't
test.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh




More information about the Info-cyrus mailing list