Jonathan Feally wrote:
> I have tried playing with the settings, but setting the flag at all
> seems to also effect the blocking on the rx, tx streams. It does work
> fine with out touching the flags at all, so there must be something that
> is being missed here.
> 
> So the fix for now is to comment out
> the 2 fcntl lines in select_and_accept or i guess you could run
> dbmail-imap through inetd with the -n option.

Funny stuff. Apparently, in freebsd the non-blocking state is inherited
by the socket returned by accept

quoting:

http://www.freebsd.org/cgi/man.cgi?query=accept&apropos=0&sektion=2&manpath=FreeBSD+6.1-RELEASE&format=html


    The argument s is a socket that has been created with socket(2),
bound to
     an address with bind(2), and is listening for connections after a
     listen(2).  The accept() system call extracts the first connection
     request on the queue of pending connections, creates a new socket, and
     allocates a new file descriptor for the socket which inherits the state
     of the O_NONBLOCK property from the original socket s.


I'm testing a fix...

-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl

Reply via email to