[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4659) Core dump after MOD




--On Friday, September 01, 2006 1:40 AM +0200 Pierangelo Masarati 
<ando@sys-net.it> wrote:

> I note that HEAD & re24 radically differ in this area; that specific
> assertion does no longer exist, and the signaling to the writewaiters is
> much more lightweight.  Could it be related to sucking in an incomplete
> or inconsistent set of diffs?

Always possible, but I don't think so...

That specific assertion looks like it exists to me.  Here is the latest 2.4 
code:

static void
connection_destroy( Connection *c )
{
	ber_socket_t	sd;
	unsigned long	connid;
	const char		*close_reason;
	Sockbuf			*sb;

	assert( connections != NULL );
	assert( c != NULL );
	assert( c->c_struct_state != SLAP_C_UNUSED );
	assert( c->c_conn_state != SLAP_C_INVALID );
	assert( LDAP_STAILQ_EMPTY(&c->c_ops) );
	assert( LDAP_STAILQ_EMPTY(&c->c_pending_ops) );
#ifdef LDAP_X_TXN
	assert( c->c_txn == CONN_TXN_INACTIVE );
	assert( c->c_txn_backend == NULL );
	assert( LDAP_STAILQ_EMPTY(&c->c_txn_ops) );
#endif
	assert( c->c_writewaiter == 0);


--------^


Here is the latest HEAD code:

static void
connection_destroy( Connection *c )
{
	ber_socket_t	sd;
	unsigned long	connid;
	const char		*close_reason;
	Sockbuf			*sb;

	assert( connections != NULL );
	assert( c != NULL );
	assert( c->c_struct_state != SLAP_C_UNUSED );
	assert( c->c_conn_state != SLAP_C_INVALID );
	assert( LDAP_STAILQ_EMPTY(&c->c_ops) );
	assert( LDAP_STAILQ_EMPTY(&c->c_pending_ops) );
#ifdef LDAP_X_TXN
	assert( c->c_txn == CONN_TXN_INACTIVE );
	assert( c->c_txn_backend == NULL );
	assert( LDAP_STAILQ_EMPTY(&c->c_txn_ops) );
#endif
	assert( c->c_writewaiter == 0);


--------^

--Quanah


--
Quanah Gibson-Mount
Principal Software Developer
ITS/Shared Application Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html