|Anonymous | Login||09-19-2020 19:55 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Advanced Details [ Jump to Notes ]||[ View Simple ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0001397||[Squeak] Network||minor||always||06-29-05 18:02||06-29-05 18:03|
|ETA||none||Fixed in Version||Product Version||3.8|
|Summary||0001397: [BUG] waitForData and half-closed connections|
There is an ancient bug in the method
waitForDataFor:ifClosed:ifTimedOut:. The offending statement is this
ifFalse: [^closedBlock value].
isConnected only returns true if the socket is fully connected.
However, surely you should be able to wait-for-data if the socket is
half-open for receiving data?
In that case -- which seems correct -- the test should be
isOtherEndConnected. Or at least, I think it should be. I get mixed up
about this, but it seems like "closing" is a promise not to send any
more data. Thus, if you are waiting for data, you want to know that the
other side has not closed the connection.
However, #flush seems to make the opposite assumption: if you want to
send data, then you need isOtherEndConnected. It seems to me that you
Or maybe half-closed connections just aren't modeled. But surely they
The other waitForData and waitForSendDone variants have the same bug.
|Steps To Reproduce|
|There are no notes attached to this issue.|
|06-29-05 18:02||KenCausey||New Issue|
|06-29-05 18:03||KenCausey||Reporter||KenCausey => lexspoon|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
29 total queries executed.|
26 unique queries executed.