Opened 13 years ago
Closed 8 years ago
#7870 closed bug (fixed)
BNetEndpoint busted
Reported by: | Duggan | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Kits/Network Kit | Version: | R1/Development |
Keywords: | BNetEndpoint | Cc: | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
BNetEndpoint had issues with SetNonBlocking(), Receive(), ReceiveFrom(), and IsDataPending() as far as blocking when it wasn't suppose to. I believe I've fixed it, but if not let me know. Patch attached.
Attachments (1)
Change History (13)
by , 13 years ago
Attachment: | NetEndpoint.cpp.diff added |
---|
comment:1 by , 13 years ago
patch: | 0 → 1 |
---|
comment:2 by , 13 years ago
Oh one more thing.... maybe I need to work a little more on it as it would appear looking at it that SetNonBlocking doesn't set fTimeout itself so you'd have to call SetTimeout explicitly to make it non-blocking... comments?
comment:3 by , 13 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
... guessing that Axel would be a good owner for this.
comment:4 by , 13 years ago
Component: | Network & Internet → Kits/Network Kit |
---|
comment:5 by , 13 years ago
Version: | R1/alpha3 → R1/Development |
---|
comment:6 by , 13 years ago
Sure, I just won't have the time to look into it for the next two weeks, and after that, I will probably have forgotten about it ;-)
comment:7 by , 13 years ago
Summary: | BNetEndpoint busted (and fixed) → BNetEndpoint busted |
---|
comment:8 by , 13 years ago
The BeBook doesn't state what a timeout of 0 means, but my interpretation is that it waits 0 units of time before timing out. Since the BeBook isn't specific I would think that leaves it up to interpretation...
comment:9 by , 13 years ago
given that it specifically indicates that -1 = no timeout, it seems reasonable to assume that 0 would mean don't wait.
comment:10 by , 13 years ago
Sorry, I should have been more specific. For SetTimeout() you are correct, but for IsDataPending() a timeout of 0 is undefined.
comment:11 by , 13 years ago
Sorry, slight misunderstanding on my part... Anyway, in some cases I believe 0 is defined as meaning "wait indefinitely" but there's already a constant assigned for that and the value certainly isn't 0.
diff of changes made to fix this ticket