forwarded message from Henry Cejtin
Stephen Weeks
sweeks@intertrust.com
Wed, 26 Jul 2000 18:11:24 -0700 (PDT)
Received: from maguro.epr.com ([198.3.162.27]) by exchange.epr.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21)
id PR8RTD9S; Wed, 26 Jul 2000 18:07:52 -0700
Received: from magrathea.epr.com (firewall-user@magrathea.epr.com [198.3.160.1])
by maguro.epr.com (8.9.3/8.9.3) with ESMTP id SAA17738
for <sweeks@intertrust.com>; Wed, 26 Jul 2000 18:09:57 -0700 (PDT)
Received: (from uucp@localhost) by magrathea.epr.com (8.9.3/8.7.3) id SAA28122 for <sweeks@intertrust.com>; Wed, 26 Jul 2000 18:09:56 -0700 (PDT)
Received: from nodnsquery(199.249.165.245) by magrathea.epr.com via smap (V5.5)
id xma027971; Wed, 26 Jul 00 18:09:31 -0700
Received: (from henry@localhost)
by syzygy.clairv.com (8.9.3/8.9.3) id UAA30636
for sweeks@intertrust.com; Wed, 26 Jul 2000 20:09:30 -0500
Message-Id: <200007270109.UAA30636@syzygy.clairv.com>
From: Henry Cejtin <henry@sourcelight.com>
To: sweeks@intertrust.com
Subject: Re: alternate stacks for signal handlers
Date: Wed, 26 Jul 2000 20:09:30 -0500
Ah, I see because you WANT the system call to fail, right? Pretty scary.
Some may restart any way. Also this would mean you have to understand the
concept of a system call failing because of an interrupt. Also note that
some system calls won't fail, but will return short counts. I.e., if I am
reading from a slow device, and I have gotten something, but not everything
yet, and an interrupt arrives, then if the read returns -1 (with errno EINTR)
then I would have no idea how much I got. (POSIX actually allows this, but
no Unix does this since it would be horrible.) Thus the read will return and
look like all is ok, but you won't have gotten all you asked for even though
you are not at EOF.
Any way, you are right, the SA_RESTART will have to go. I was hoping that
the rest of the code would not have to be aware of system calls failing
because of signals, but I guess it does.