I would like to exclude windows from running the faulting http test until someone has the time to look at it.
What does everyone think?
Dave
Thanks.
Russ
When http/conn.serve() exits, it calls c.close() which will send a FIN
to the other side. This error looks more like an RST is being sent to
the client, but not from the server.
Random googling suggests that this might be related to SYN protection
inside the OS, http://msdn.microsoft.com/en-us/library/ms187005.aspx.
Cheers
Dave
Has anyone had time to investigate why Windows 64 breaks when a
connection is closed on its face?
I tried to use WinDump program, but, it appears, it cannot monitor localhost. If you know a way, let me know.
As I mentioned in my previous message, this sounds like buggy
behavior. If data + FIN is sent.. data should be read before socket is
considered closed.
Would Fiddler2 be low level enough (http://www.fiddler2.com/)?
> 1) If we could decide that TestTCPClose should PASS;
I can't think of any reason it should fail. ...
The client Close doesn't
know that the server isn't going to process the data, and the server
Close shouldn't care that there is data waiting to be read.
I am not sure what block means in this context. We certainly want
Close to flush any written data so that it gets sent over the network.
If that's what block means, then yes.
That is, if there were a test that did
server:
100x:
accept, read "hello", close
client:
100x:
dial, write "hello", close
Then the server should see "hello" in all 100 cases. The close should
not keep the client from sending the written data.
> 3) If we are OK to do "api change" to accomodate change of syscall.Linger;
The current definition is completely wrong in syscall, so I think we
can correct it. ...
Have you managed to make the original net/http test case fail with that?
I've tried, and it still works. Maybe I'm doing something wrong?
You've changed the test in a different way, and it's also failing in a
different way.