From: Karel G. <kg...@us...> - 2002-01-02 17:05:30
|
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; |