diff --git a/lib/modules/SSL.pmod/sslfile.pike b/lib/modules/SSL.pmod/sslfile.pike index 4b977a67615fdfeefe4e0849b606daadeb16cf05..5845f60afb2cb7beef1e20fddad4ab91037b7133 100644 --- a/lib/modules/SSL.pmod/sslfile.pike +++ b/lib/modules/SSL.pmod/sslfile.pike @@ -1,4 +1,4 @@ -/* $Id: sslfile.pike,v 1.5 1997/05/31 22:04:01 grubba Exp $ +/* $Id: sslfile.pike,v 1.6 1997/08/03 22:48:42 grubba Exp $ * */ @@ -37,6 +37,11 @@ private void die(int status) #endif } is_closed = 1; +#ifndef CALLBACK_BUG_FIXED + // The write callback sometimes gets called although the socket is closed. + socket::set_write_callback(0); + socket::set_read_callback(0); +#endif /* CALLBACK_BUG_FIXED */ socket::close(); } @@ -157,7 +162,7 @@ private void ssl_read_callback(mixed id, string s) private void ssl_write_callback(mixed id) { #ifdef SSL3_DEBUG - werror(sprintf("SSL.sslport->ssl_write_callback: handshake_finished = %d\n" + werror(sprintf("SSL.sslfile->ssl_write_callback: handshake_finished = %d\n" "blocking = %d, write_callback = %O\n", handshake_finished, blocking, write_callback)); #endif