Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Thu, 20 Sep 2001 11:32:53 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Cygwin 1.3.3: Win2K: select() returning EBADF (causes thrashing in Boa) Message-ID: <20010920113253.C28377@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <009201c141e5$9c3c0560$d50b19ac AT LSIL DOT COM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <009201c141e5$9c3c0560$d50b19ac@LSIL.COM> User-Agent: Mutt/1.3.21i 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/