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]