Mail Archives: cygwin/2001/10/17/08:47:12
Helo all!
I'm doing some networking software for linux & windows using cygwin.
Now, I have a server that listens and accept() up to 10 different
connections. The server is just a software tunnel, It just connects sockets
from incoming calls to a default one in other machine.
In linux it woks fine, But in windows, there is a problem.
After a connection has been accepted, if the client aborts that connection
when the remote host is trasmitting (client host receiving), when server
write() to client host, the program crashes, even when write() is supposed
to return -1 and set ERRNO.
The software looks like
if(FD_ISSET(remote host,rmask)) {
if((count=read(remote_sock,buffer,count)==-1) {
perror("read");
do_close_this_connection_and_free_stuff();
}
if((write(client_sock,buffer,count)==-1) { // It crashes here
perror("write"); // this error never displayed
do_close_this_connections_and_free_stuff();
}
}
In a command window (command.com), there is no error message and the program
crashes
In a shell window (cygwin bash in windows), there is an error message:
(Broken pipe), but the program crashes too.
Is this a known (bug/unimplemented socket feature)?
Thanks in advance...
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -