hi, there
application crashes if lost connection during query
(such as server is shuted down in immediate mode).
it's due to that after connection closed, the socket
flush funciton, SOCK_flush_output, is still trying to
write/flush to the non-exist socket, during the socket
destruction stage.
the socket should be marked as "CLOSED" when
connection is lost, such as, in socket.c
UCHAR
SOCK_get_next_byte(SocketClass *self)
{
......
if (self->buffer_filled_in == 0)
{
self->errornumber = SOCKET_CLOSED;
self->errormsg = "Socket has been
closed.";
self->buffer_filled_in = 0;
self->socket=-1; //@mark the socket
"CLOSED"!
return 0;
}
}
return self->buffer_in[self->buffer_read_in++];
}
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com