Skip to content

Commit 43bd232

Browse files
committed
Resolve a recursive destruct on the iof proct in finalize
Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>
1 parent 348bf8e commit 43bd232

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

orte/mca/iof/hnp/iof_hnp_read.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
33
* University Research and Technology
44
* Corporation. All rights reserved.
5-
* Copyright (c) 2004-2011 The University of Tennessee and The University
5+
* Copyright (c) 2004-2018 The University of Tennessee and The University
66
* of Tennessee Research Foundation. All rights
77
* reserved.
88
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@@ -284,6 +284,8 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
284284
/* if we read 0 bytes from the stdout/err/diag, there is
285285
* nothing to output - release the appropriate event.
286286
* This will delete the read event and close the file descriptor */
287+
/* make sure we don't do recursive delete on the proct */
288+
OBJ_RETAIN(proct);
287289
if (rev->tag & ORTE_IOF_STDOUT) {
288290
orte_iof_base_static_dump_output(proct->revstdout);
289291
OBJ_RELEASE(proct->revstdout);
@@ -305,6 +307,7 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
305307
/* this proc's iof is complete */
306308
ORTE_ACTIVATE_PROC_STATE(&proct->name, ORTE_PROC_STATE_IOF_COMPLETE);
307309
}
310+
OBJ_RELEASE(proct);
308311
return;
309312
}
310313

0 commit comments

Comments
 (0)