--- globus_2_4_3_adv2003_fix892_fix956_more/gram/protocol/source/globus_gram_protocol_io.c Fri Jul 25 23:30:52 2003 +++ globus_2_4_3_adv2003_fix892_fix956_plus/gram/protocol/source/globus_gram_protocol_io.c Sun Jan 4 20:02:32 2004 @@ -1054,17 +1054,10 @@ GLOBUS_NULL); } - /* rc only set on connection error. It is an error to close a handle on - * a failed connect - */ - if(rc == 0) - { - result = globus_io_register_close( - handle, - globus_l_gram_protocol_connection_close_callback, - callback_arg); - - } + result = globus_io_register_close( + handle, + globus_l_gram_protocol_connection_close_callback, + callback_arg); if(result != GLOBUS_SUCCESS) { @@ -2010,6 +2003,7 @@ } globus_libc_free(connection->io_handle); free_connection_exit: + globus_mutex_unlock(&globus_i_gram_protocol_mutex); globus_libc_free(connection); free_framed_exit: globus_libc_free(framed);