Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Oct 2000 17:20:06 +0200
From:      Jamie Lokier <lk@tantalophile.demon.co.uk>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        David Schwartz <davids@webmaster.com>, Jonathan Lemon <jlemon@flugsvamp.com>, chat@FreeBSD.ORG, linux-kernel@vger.kernel.org
Subject:   Re: kqueue microbenchmark results
Message-ID:  <20001027172006.A28504@pcep-jamie.cern.ch>
In-Reply-To: <20001025161837.D28123@fw.wintelcom.net>; from bright@wintelcom.net on Wed, Oct 25, 2000 at 04:18:37PM -0700
References:  <20001025172702.B89038@prism.flugsvamp.com> <NCBBLIEPOCNJOAEKBEAKCEOPLHAA.davids@webmaster.com> <20001025161837.D28123@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help

Alfred Perlstein wrote:
> > If a programmer does not ever wish to block under any circumstances, it's
> > his obligation to communicate this desire to the implementation. Otherwise,
> > the implementation can block if it doesn't have data or an error available
> > at the instant 'read' is called, regardless of what it may have known or
> > done in the past.
> 
> Yes, and as you mentioned, it was _bugs_ in the operating system
> that did this.

Not for writes.  POLLOUT may be returned when the kernel thinks you have
enough memory to do a write, but someone else may allocate memory before
you call write().  Or does POLLOUT not work this way?

For read, you still want to declare the sockets non-blocking so your
code is robust on _other_ operating systems.  It's pretty straightforward.

-- Jamie


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001027172006.A28504>