Skip to content

Commit 2309047

Browse files
committed
Switch back to PMIx master branch
Update both PMIx and PRRTE. Ensure the MPI proc properly notifies the daemon when it is pausing for debugger attach Signed-off-by: Ralph Castain <rhc@pmix.org>
1 parent 206c813 commit 2309047

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
[submodule "openpmix"]
66
path = 3rd-party/openpmix
77
url = https://github.com/openpmix/openpmix.git
8-
branch = v4.0
8+
branch = master

3rd-party/openpmix

Submodule openpmix updated 150 files

ompi/runtime/ompi_rte.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* and Technology (RIST). All rights reserved.
1515
* Copyright (c) 2020 Amazon.com, Inc. or its affiliates. All Rights
1616
* reserved.
17+
* Copyright (c) 2021 Nanook Consulting. All rights reserved.
1718
* $COPYRIGHT$
1819
*/
1920
#include "ompi_config.h"
@@ -996,7 +997,7 @@ void ompi_rte_abort_peers(opal_process_name_t *procs,
996997
}
997998

998999
static size_t handler = SIZE_MAX;
999-
static bool debugger_event_active = true;
1000+
static volatile bool debugger_event_active = true;
10001001

10011002
static void _release_fn(size_t refid, pmix_status_t status,
10021003
const pmix_proc_t *source,
@@ -1014,14 +1015,14 @@ static void _release_fn(size_t refid, pmix_status_t status,
10141015

10151016
/*
10161017
* Wait for a debugger if asked. We support two ways of waiting for
1017-
* attaching debuggers -- see big comment in
1018-
* pmix/tools/pmixrun/debuggers.c explaining the two scenarios.
1018+
* attaching debuggers
10191019
*/
10201020
void ompi_rte_wait_for_debugger(void)
10211021
{
10221022
pmix_info_t directive;
10231023
char *evar;
10241024
int time, code = PMIX_ERR_DEBUGGER_RELEASE;
1025+
pmix_info_t info;
10251026

10261027
/* check PMIx to see if we are under a debugger */
10271028
if (NULL == getenv("PMIX_DEBUG_WAIT_FOR_NOTIFY") &&
@@ -1046,6 +1047,13 @@ void ompi_rte_wait_for_debugger(void)
10461047
PMIx_Register_event_handler(&code, 1, &directive, 1, _release_fn, NULL, NULL);
10471048
PMIX_INFO_DESTRUCT(&directive);
10481049

1050+
/* notify the host that we are waiting */
1051+
PMIX_INFO_LOAD(&info, PMIX_EVENT_NON_DEFAULT, NULL, PMIX_BOOL);
1052+
PMIx_Notify_event(PMIX_DEBUG_WAITING_FOR_NOTIFY,
1053+
&opal_process_info.myprocid,
1054+
PMIX_RANGE_RM, &info, 1, NULL, NULL);
1055+
PMIX_INFO_DESTRUCT(&info);
1056+
10491057
/* let the MPI progress engine run while we wait for debugger release */
10501058
OMPI_WAIT_FOR_COMPLETION(debugger_event_active);
10511059

0 commit comments

Comments
 (0)