Opened 8 years ago

Closed 3 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:
Has a Patch: yes Platform: All


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)

NetEndpoint.cpp.diff (1.7 KB ) - added by Duggan 8 years ago.
diff of changes made to fix this ticket

Download all attachments as: .zip

Change History (13)

by Duggan, 8 years ago

Attachment: NetEndpoint.cpp.diff added

diff of changes made to fix this ticket

comment:1 by Duggan, 8 years ago

Has a Patch: set

comment:2 by Duggan, 8 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 mmadia, 8 years ago

Owner: changed from nobody to axeld
Status: newassigned

... guessing that Axel would be a good owner for this.

comment:4 by diver, 8 years ago

Component: Network & InternetKits/Network Kit

comment:5 by diver, 8 years ago

Version: R1/alpha3R1/Development

comment:6 by axeld, 8 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 Duggan, 8 years ago

Summary: BNetEndpoint busted (and fixed)BNetEndpoint busted

comment:8 by Duggan, 8 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 anevilyak, 8 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 Duggan, 8 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 Duggan, 8 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.

Last edited 8 years ago by Duggan (previous) (diff)

comment:12 by pulkomandy, 3 years ago

Resolution: fixed
Status: assignedclosed

Applied in hrev50557.

Note: See TracTickets for help on using tickets.