Update of /cvsroot/micomt/mico/orb
In directory usw-pr-cvs1:/tmp/cvs-serv24401/orb
Modified Files:
iop.cc
Log Message:
- fixed GIOPConn crashing bug number #437748
Index: iop.cc
===================================================================
RCS file: /cvsroot/micomt/mico/orb/iop.cc,v
retrieving revision 1.77
retrieving revision 1.78
diff -C2 -r1.77 -r1.78
*** iop.cc 2002/01/01 20:34:27 1.77
--- iop.cc 2002/01/02 17:05:27 1.78
***************
*** 2443,2449 ****
_inbuf = new CORBA::Buffer;
_inlen = _codec->header_length ();
if (!this->input_ready() || break_after_read)
break;
! continue;
}
if (_max_message_size > 0 && _inlen > _max_message_size) {
--- 2443,2455 ----
_inbuf = new CORBA::Buffer;
_inlen = _codec->header_length ();
+ _transp->rselect (_disp, 0);
+ _transp->wselect (_disp, 0);
if (!this->input_ready() || break_after_read)
break;
! //continue;
! // I'll break here instead of continue because this connection
! // is lost for future - it's not possible to received
! // wrong header and then wait for other which might be right
! break;
}
if (_max_message_size > 0 && _inlen > _max_message_size) {
***************
*** 4479,4483 ****
conn->flush();
! deref_conn ( conn, TRUE);
}
--- 4485,4490 ----
conn->flush();
! //deref_conn ( conn, TRUE);
! this->kill_conn(conn);
}
***************
*** 4521,4524 ****
--- 4528,4532 ----
<< conn->transport()->peer()->stringify() << endl;
}
+ conn->active_deref();
conn_error (conn);
return FALSE;
|