Michael Ash <[EMAIL PROTECTED]> wrote:

> NSStream matches the semantics of the UNIX read/write calls. In both
> cases, if you are informed that data or space is available, you can
> issue a read or write for an arbitrary amount of data and be
> guaranteed that it will not block.

I would have thought so too, but the NSStream documentation seems to
disagree (this is from the "Stream Programming Guide for Cocoa"
document):

: It should be pointed out that neither the polling nor run-loop
: scheduling approaches are airtight defenses against blocking. If the
: NSInputStream hasBytesAvailable method or the NSOutputStream
: hasSpaceAvailable method returns NO, it means in both cases that the
: stream definitely has no available bytes or space. However, if either
: of these methods returns YES, it can mean that there is available
: bytes or space or that the only way to find out is to attempt a read
: or a write operation (which could lead to a momentary block). The
: NSStreamEventHasBytesAvailable and NSStreamEventHasSpaceAvailable
: stream events have identical semantics.

I'm not sure exactly what "momentary block" means here.


-- 
Stefan Haller
Ableton
http://www.ableton.com/
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to