Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: tech-kern
Date: 06/13/1999 23:19:55
[ On Sunday, June 13, 1999 at 22:40:22 (-0400), der Mouse wrote: ]
> Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU
>
> - It should be possible to tell from reading the manpage what subset of
>    these classes each errno falls into.

That would be sufficient.

For example, the ERRORS sub-section for the documentation of the current
implementation of pipe(2) might be changed to read something like the
following:

  ERRORS

     The pipe() call will fail and no new file descriptors will have
     been allocated or returned if:

     [EMFILE]      Too many file descriptors are already in use by this
                   process.  Getdtablesize(3) will obtain the current
                   limit.

     [ENFILE]      Too many files descriptare are already in use in the
                   system.  Maximum number of file descriptors allowable
                   on the system has been reached and requests for more
                   cannot be satisfied until at least one has been closed.

     [EFAULT]      The fildes buffer is in an invalid area of the
                   process's address space.  The current NetBSD
                   implementation will never return with errno set to
                   EFAULT -- a SIGSEGV will result instead.  This value
                   may be returned in errno in some other implementations.

     [EIO]         Only returned by Unix Research System Tenth Edition.

     [ENXIO]       Only returned by Unix Research System Tenth Edition.

(None of the standards I have access to document any other return
values.  SunOS-4 documents EFAULT though I've never tested it....
SunOS-5.6 does not document EFAULT.)

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>