This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
While running the Python regression test to verify my rebase package
before release, I stumbled across a hang in 1.3.20-1 (and CVS) when
socket() is called from one thread after accept() has been called in
another.
This problem has recently been discussed in the following Cygwin mailing
thread:
http://cygwin.com/ml/cygwin/2003-02/msg01341.html
http://cygwin.com/ml/cygwin/2003-02/msg01350.html
The problem was introduced sometime after 1.3.19-1 and before
2003-Feb-01 snapshot.
The attached C++ testcase demonstrates the problem. In 1.3.20-1, the
program hangs in the call to socket() in the second thread:
Creating thread for fn1
fn1 begin
fn1: calling accept()...
Creating thread for fn2
fn2 begin
fn2: calling socket()...
While in 1.3.19-1, we get the following:
Creating thread for fn1
fn1 begin
fn1: calling accept()...
Creating thread for fn2
fn2 begin
fn2: calling socket()...
fn2: socket() returned
fn2: calling connect()...
fn2: connect returned
fn2: connect() failed with 111
I'm not sure why connect() fails, because a "telnet localhost 54321"
works just fine. I'm probably demonstrating my sockets ignorance.
I will try to dig deeper, but I'm hoping that maybe a light bulb will go
on in the meantime.
BTW, does anyone have any snapshots after 1.3.19-1, but before
2003-Feb-01? If so, please (privately) mail them to me or post a URL.
Thanks,
Jason
--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6
Attachment:
test_socket.cc
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |