This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Cygwin 1.3.3: Win2K: select() returning EBADF (causes thrashing in Boa)
- To: cygwin at cygwin dot com
- Subject: Re: Cygwin 1.3.3: Win2K: select() returning EBADF (causes thrashing in Boa)
- From: Christopher Faylor <cgf at redhat dot com>
- Date: Thu, 20 Sep 2001 11:32:53 -0400
- References: <009201c141e5$9c3c0560$d50b19ac@LSIL.COM>
- Reply-To: cygwin at cygwin dot com
On Thu, Sep 20, 2001 at 04:02:21PM +0100, Phil Dempster wrote:
>I've compiled boa (http//www.boa.org) under Cygwin and it seems to work
>(incidentally much better than it did with 1.3.2).
>
>However, the select() call in Boa's main loop continually fails with
>errno==EBADF. Whilst this doesn't actually break it functionally, it does
>cause it to thrash taking up 99% CPU time.
>
> if (select(OPEN_MAX, &block_read_fdset,
> &block_write_fdset, NULL,
> (request_block ? &req_timeout : NULL)) == -1) {
> /* what is the appropriate thing to do here on EBADF */
> if (errno == EINTR)
> continue; /* while(1) */
> else if (errno != EBADF) {
> log_error_mesg(__FILE__, __LINE__, "select");
> exit(errno);
> }
> }
>
>Thoughts?
The obvious question is why is boa sending a bad fd to select?
What thoughts were you expecting? You obviously need to debug the code.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/