[complement-svn] SF.net SVN: complement: [1425] trunk/complement/explore
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2006-11-29 18:07:37
|
Revision: 1425 http://svn.sourceforge.net/complement/?rev=1425&view=rev Author: complement Date: 2006-11-29 10:07:36 -0800 (Wed, 29 Nov 2006) Log Message: ----------- don't delete objects via _conn_pool container content [this is secondary structure, objects will be deleted in the _M_c container]; this fix sporadic crashes of server on exit Modified Paths: -------------- trunk/complement/explore/include/sockios/sockmgr.cc trunk/complement/explore/lib/sockios/ChangeLog trunk/complement/explore/lib/sockios/Makefile.inc Modified: trunk/complement/explore/include/sockios/sockmgr.cc =================================================================== --- trunk/complement/explore/include/sockios/sockmgr.cc 2006-11-29 12:03:40 UTC (rev 1424) +++ trunk/complement/explore/include/sockios/sockmgr.cc 2006-11-29 18:07:36 UTC (rev 1425) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/11/28 01:31:14 ptr> +// -*- C++ -*- Time-stamp: <06/11/29 18:43:21 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -441,11 +441,10 @@ stream = c->s; if ( stream->is_open() ) { c->_proc->connect( *stream ); - if ( !stream->good() ) { - stream->close(); - c->_proc->close(); - delete c->_proc; - c->_proc = 0; + if ( c->s == 0 || !stream->good() ) { + if ( c->_proc != 0 ) { + c->_proc->close(); + } } else if ( stream->is_open() ) { if ( stream->rdbuf()->in_avail() > 0 ) { // socket has buffered data, push it back to queue @@ -458,11 +457,8 @@ sock_base::socket_type rfd = stream->rdbuf()->fd(); ::write( me->_cfd, reinterpret_cast<const char *>(&rfd), sizeof(sock_base::socket_type) ); } - } else { - stream->close(); + } else if ( c->_proc ) { c->_proc->close(); - delete c->_proc; - c->_proc = 0; } } } Modified: trunk/complement/explore/lib/sockios/ChangeLog =================================================================== --- trunk/complement/explore/lib/sockios/ChangeLog 2006-11-29 12:03:40 UTC (rev 1424) +++ trunk/complement/explore/lib/sockios/ChangeLog 2006-11-29 18:07:36 UTC (rev 1425) @@ -1,3 +1,12 @@ +2006-11-29 Petr Ovtchenkov <pt...@is...> + + * sockmgr.cc: don't delete objects via _conn_pool + container content [this is secondary structure, + objects will be deleted in the _M_c container]; + this fix sporadic crashes of server on exit. + + * libsockios: Version 1.10.1 + 2006-11-27 Petr Ovtchenkov <pt...@is...> * sockmgr.h, sockmgr.cc: delete connect processors and Modified: trunk/complement/explore/lib/sockios/Makefile.inc =================================================================== --- trunk/complement/explore/lib/sockios/Makefile.inc 2006-11-29 12:03:40 UTC (rev 1424) +++ trunk/complement/explore/lib/sockios/Makefile.inc 2006-11-29 18:07:36 UTC (rev 1425) @@ -1,9 +1,9 @@ -# -*- Makefile -*- Time-stamp: <06/11/27 17:19:45 ptr> +# -*- Makefile -*- Time-stamp: <06/11/29 18:47:25 ptr> LIBNAME = sockios MAJOR = 1 MINOR = 10 -PATCH = 0 +PATCH = 1 SRC_CC = _sockstream.cc _sockmgr.cc SRC_C = freebsd/getaddrinfo.c \ freebsd/ns_parse.c \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |