From 5f3b81e291789d25162a477321a7a5a1a25d122a Mon Sep 17 00:00:00 2001 From: Dave Goodell Date: Wed, 19 Mar 2014 22:15:49 +0000 Subject: [PATCH] oob: delete events when destroying a peer Without this patch running ring_c with the usnic BTL under valgrind will cause the orteds to segfault. Reviewed-by: Jeff Squyres Reviewed-by: Ralph Castain cmr=v1.7.5:reviewer=ompi-rm1.7 This commit was SVN r31161. --- orte/mca/oob/tcp/oob_tcp_component.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/orte/mca/oob/tcp/oob_tcp_component.c b/orte/mca/oob/tcp/oob_tcp_component.c index d59eed68a0..b39ea1b0d6 100644 --- a/orte/mca/oob/tcp/oob_tcp_component.c +++ b/orte/mca/oob/tcp/oob_tcp_component.c @@ -11,7 +11,7 @@ * All rights reserved. * Copyright (c) 2006-2013 Los Alamos National Security, LLC. * All rights reserved. - * Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2013-2014 Intel, Inc. All rights reserved. * Copyright (c) 2014 NVIDIA Corporation. All rights reserved. @@ -1605,6 +1605,15 @@ static void peer_cons(mca_oob_tcp_peer_t *peer) } static void peer_des(mca_oob_tcp_peer_t *peer) { + if (peer->send_ev_active) { + opal_event_del(&peer->send_event); + } + if (peer->recv_ev_active) { + opal_event_del(&peer->recv_event); + } + if (peer->timer_ev_active) { + opal_event_del(&peer->timer_event); + } if (0 <= peer->sd) { opal_output_verbose(2, orte_oob_base_framework.framework_output, "%s CLOSING SOCKET %d",