Skip to content

Commit ef0610d

Browse files
author
rhc54
authored
Merge pull request #2223 from rhc54/topic/pmixfix
Repair event notification support and resync to PMIx master
2 parents 952ea06 + 6f65d0a commit ef0610d

File tree

25 files changed

+274
-205
lines changed

25 files changed

+274
-205
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ orte/test/mpi/parallel_r8
371371
orte/test/mpi/parallel_r64
372372
orte/test/mpi/parallel_w8
373373
orte/test/mpi/parallel_w64
374+
orte/test/mpi/pmix
374375
orte/test/mpi/pubsub
375376
orte/test/mpi/read_write
376377
orte/test/mpi/reduce-hang

opal/mca/pmix/pmix3x/configure.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ AC_DEFUN([MCA_opal_pmix_pmix3x_CONFIG],[
4949
opal_pmix_pmix3x_sm_flag=--disable-dstore
5050
fi
5151

52-
opal_pmix_pmix3x_args="$opal_pmix_pmix3x_sm_flag --without-tests-examples --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\" --enable-embedded-hwloc --with-hwloc-header=\\\"$opal_hwloc_base_include\\\""
52+
opal_pmix_pmix3x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX3X_ $opal_pmix_pmix3x_sm_flag --without-tests-examples --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\" --enable-embedded-hwloc --with-hwloc-header=\\\"$opal_hwloc_base_include\\\""
5353
AS_IF([test "$enable_debug" = "yes"],
5454
[opal_pmix_pmix3x_args="--enable-debug $opal_pmix_pmix3x_args"
5555
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],

opal/mca/pmix/pmix3x/pmix/VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ greek=
3030
# command, or with the date (if "git describe" fails) in the form of
3131
# "date<date>".
3232

33-
repo_rev=git6ea0747
33+
repo_rev=gitd2aa31f
3434

3535
# If tarball_version is not empty, it is used as the version string in
3636
# the tarball filename, regardless of all other versions listed in
@@ -44,7 +44,7 @@ tarball_version=
4444

4545
# The date when this release was created
4646

47-
date="Oct 11, 2016"
47+
date="Oct 13, 2016"
4848

4949
# The shared library version of each of PMIx's public libraries.
5050
# These versions are maintained in accordance with the "Library

opal/mca/pmix/pmix3x/pmix/config/pmix.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dnl Copyright (c) 2009 Los Alamos National Security, LLC. All rights
1717
dnl reserved.
1818
dnl Copyright (c) 2009-2011 Oak Ridge National Labs. All rights reserved.
1919
dnl Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
20-
dnl Copyright (c) 2013-2016 Intel, Inc. All rights reserved
20+
dnl Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
2121
dnl Copyright (c) 2015-2016 Research Organization for Information Science
2222
dnl and Technology (RIST). All rights reserved.
2323
dnl Copyright (c) 2016 Mellanox Technologies, Inc.

opal/mca/pmix/pmix3x/pmix/include/pmix.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
/*
22
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved
3+
* Copyright (c) 2016 Research Organization for Information Science
4+
* and Technology (RIST). All rights reserved.
35
*
46
* Redistribution and use in source and binary forms, with or without
57
* modification, are permitted provided that the following conditions are
@@ -48,7 +50,6 @@
4850

4951
/* Structure and constant definitions */
5052
#include <pmix_common.h>
51-
#include <pmix_rename.h>
5253

5354
#if defined(c_plusplus) || defined(__cplusplus)
5455
extern "C" {

opal/mca/pmix/pmix3x/pmix/include/pmix_common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
#include <sys/time.h> /* for struct timeval */
6060
#include <unistd.h> /* for uid_t and gid_t */
6161
#include <sys/types.h> /* for uid_t and gid_t */
62+
#include <pmix_rename.h>
6263
#include <pmix_version.h>
6364

6465
#if defined(c_plusplus) || defined(__cplusplus)
Lines changed: 56 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
/*
22
* Copyright (c) 2016 Intel, Inc. All rights reserved
3+
* Copyright (c) 2016 Research Organization for Information Science
4+
* and Technology (RIST). All rights reserved.
35
* $COPYRIGHT$
46
*
57
* Additional copyrights may follow
@@ -10,62 +12,63 @@
1012
#ifndef PMIX_RENAME_H
1113
#define PMIX_RENAME_H
1214

13-
#define @PMIX_RENAME@PMIx_Init PMIx_Init
14-
#define @PMIX_RENAME@PMIx_Finalize PMIx_Finalize
15-
#define @PMIX_RENAME@PMIx_Abort PMIx_Abort
16-
#define @PMIX_RENAME@PMIx_Put PMIx_Put
17-
#define @PMIX_RENAME@PMIx_Commit PMIx_Commit
18-
#define @PMIX_RENAME@PMIx_Fence PMIx_Fence
19-
#define @PMIX_RENAME@PMIx_Fence_nb PMIx_Fence_nb
20-
#define @PMIX_RENAME@PMIx_Get PMIx_Get
21-
#define @PMIX_RENAME@PMIx_Get_nb PMIx_Get_nb
22-
#define @PMIX_RENAME@PMIx_Publish PMIx_Publish
23-
#define @PMIX_RENAME@PMIx_Publish_nb PMIx_Publish_nb
24-
#define @PMIX_RENAME@PMIx_Lookup PMIx_Lookup
25-
#define @PMIX_RENAME@PMIx_Lookup_nb PMIx_Lookup_nb
26-
#define @PMIX_RENAME@PMIx_Unpublish PMIx_Unpublish
27-
#define @PMIX_RENAME@PMIx_Unpublish_nb PMIx_Unpublish_nb
28-
#define @PMIX_RENAME@PMIx_Spawn PMIx_Spawn
29-
#define @PMIX_RENAME@PMIx_Spawn_nb PMIx_Spawn_nb
30-
#define @PMIX_RENAME@PMIx_Connect PMIx_Connect
31-
#define @PMIX_RENAME@PMIx_Connect_nb PMIx_Connect_nb
32-
#define @PMIX_RENAME@PMIx_Disconnect PMIx_Disconnect
33-
#define @PMIX_RENAME@PMIx_Disconnect_nb PMIx_Disconnect_nb
34-
#define @PMIX_RENAME@PMIx_Resolve_peers PMIx_Resolve_peers
35-
#define @PMIX_RENAME@PMIx_Resolve_nodes PMIx_Resolve_nodes
36-
#define @PMIX_RENAME@PMIx_Query_info_nb PMIx_Query_info_nb
37-
#define @PMIX_RENAME@PMIx_Log_nb PMIx_Log_nb
15+
#define PMIx_Init @PMIX_RENAME@PMIx_Init
16+
#define PMIx_Initialized @PMIX_RENAME@PMIx_Initialized
17+
#define PMIx_Finalize @PMIX_RENAME@PMIx_Finalize
18+
#define PMIx_Abort @PMIX_RENAME@PMIx_Abort
19+
#define PMIx_Put @PMIX_RENAME@PMIx_Put
20+
#define PMIx_Commit @PMIX_RENAME@PMIx_Commit
21+
#define PMIx_Fence @PMIX_RENAME@PMIx_Fence
22+
#define PMIx_Fence_nb @PMIX_RENAME@PMIx_Fence_nb
23+
#define PMIx_Get @PMIX_RENAME@PMIx_Get
24+
#define PMIx_Get_nb @PMIX_RENAME@PMIx_Get_nb
25+
#define PMIx_Publish @PMIX_RENAME@PMIx_Publish
26+
#define PMIx_Publish_nb @PMIX_RENAME@PMIx_Publish_nb
27+
#define PMIx_Lookup @PMIX_RENAME@PMIx_Lookup
28+
#define PMIx_Lookup_nb @PMIX_RENAME@PMIx_Lookup_nb
29+
#define PMIx_Unpublish @PMIX_RENAME@PMIx_Unpublish
30+
#define PMIx_Unpublish_nb @PMIX_RENAME@PMIx_Unpublish_nb
31+
#define PMIx_Spawn @PMIX_RENAME@PMIx_Spawn
32+
#define PMIx_Spawn_nb @PMIX_RENAME@PMIx_Spawn_nb
33+
#define PMIx_Connect @PMIX_RENAME@PMIx_Connect
34+
#define PMIx_Connect_nb @PMIX_RENAME@PMIx_Connect_nb
35+
#define PMIx_Disconnect @PMIX_RENAME@PMIx_Disconnect
36+
#define PMIx_Disconnect_nb @PMIX_RENAME@PMIx_Disconnect_nb
37+
#define PMIx_Resolve_peers @PMIX_RENAME@PMIx_Resolve_peers
38+
#define PMIx_Resolve_nodes @PMIX_RENAME@PMIx_Resolve_nodes
39+
#define PMIx_Query_info_nb @PMIX_RENAME@PMIx_Query_info_nb
40+
#define PMIx_Log_nb @PMIX_RENAME@PMIx_Log_nb
3841

39-
#define @PMIX_RENAME@PMIx_server_init PMIx_server_init
40-
#define @PMIX_RENAME@PMIx_server_finalize PMIx_server_finalize
41-
#define @PMIX_RENAME@PMIx_generate_regex PMIx_generate_regex
42-
#define @PMIX_RENAME@PMIx_generate_ppn PMIx_generate_ppn
43-
#define @PMIX_RENAME@PMIx_server_register_nspace PMIx_server_register_nspace
44-
#define @PMIX_RENAME@PMIx_server_deregister_nspace PMIx_server_deregister_nspace
45-
#define @PMIX_RENAME@PMIx_server_register_client PMIx_server_register_client
46-
#define @PMIX_RENAME@PMIx_server_deregister_client PMIx_server_deregister_client
47-
#define @PMIX_RENAME@PMIx_server_setup_fork PMIx_server_setup_fork
48-
#define @PMIX_RENAME@PMIx_server_dmodex_request PMIx_server_dmodex_request
42+
#define PMIx_server_init @PMIX_RENAME@PMIx_server_init
43+
#define PMIx_server_finalize @PMIX_RENAME@PMIx_server_finalize
44+
#define PMIx_generate_regex @PMIX_RENAME@PMIx_generate_regex
45+
#define PMIx_generate_ppn @PMIX_RENAME@PMIx_generate_ppn
46+
#define PMIx_server_register_nspace @PMIX_RENAME@PMIx_server_register_nspace
47+
#define PMIx_server_deregister_nspace @PMIX_RENAME@PMIx_server_deregister_nspace
48+
#define PMIx_server_register_client @PMIX_RENAME@PMIx_server_register_client
49+
#define PMIx_server_deregister_client @PMIX_RENAME@PMIx_server_deregister_client
50+
#define PMIx_server_setup_fork @PMIX_RENAME@PMIx_server_setup_fork
51+
#define PMIx_server_dmodex_request @PMIX_RENAME@PMIx_server_dmodex_request
4952

50-
#define @PMIX_RENAME@PMIx_tool_init PMIx_tool_init
51-
#define @PMIX_RENAME@PMIx_tool_finalize PMIx_tool_finalize
53+
#define PMIx_tool_init @PMIX_RENAME@PMIx_tool_init
54+
#define PMIx_tool_finalize @PMIX_RENAME@PMIx_tool_finalize
5255

53-
#define @PMIX_RENAME@PMIx_Register_event_handler PMIx_Register_event_handler
54-
#define @PMIX_RENAME@PMIx_Deregister_event_handler PMIx_Deregister_event_handler
55-
#define @PMIX_RENAME@PMIx_Notify_event PMIx_Notify_event
56-
#define @PMIX_RENAME@PMIx_Error_string PMIx_Error_string
57-
#define @PMIX_RENAME@PMIx_Proc_state_string PMIx_Proc_state_string
58-
#define @PMIX_RENAME@PMIx_Persistence_string PMIx_Persistence_string
59-
#define @PMIX_RENAME@PMIx_Data_range_string PMIx_Data_range_string
60-
#define @PMIX_RENAME@PMIx_Info_directives_string PMIx_Info_directives_string
61-
#define @PMIX_RENAME@PMIx_Data_type_string PMIx_Data_type_string
62-
#define @PMIX_RENAME@PMIx_Get_version PMIx_Get_version
63-
#define @PMIX_RENAME@PMIx_Store_internal PMIx_Store_internal
56+
#define PMIx_Register_event_handler @PMIX_RENAME@PMIx_Register_event_handler
57+
#define PMIx_Deregister_event_handler @PMIX_RENAME@PMIx_Deregister_event_handler
58+
#define PMIx_Notify_event @PMIX_RENAME@PMIx_Notify_event
59+
#define PMIx_Error_string @PMIX_RENAME@PMIx_Error_string
60+
#define PMIx_Proc_state_string @PMIX_RENAME@PMIx_Proc_state_string
61+
#define PMIx_Persistence_string @PMIX_RENAME@PMIx_Persistence_string
62+
#define PMIx_Data_range_string @PMIX_RENAME@PMIx_Data_range_string
63+
#define PMIx_Info_directives_string @PMIX_RENAME@PMIx_Info_directives_string
64+
#define PMIx_Data_type_string @PMIX_RENAME@PMIx_Data_type_string
65+
#define PMIx_Get_version @PMIX_RENAME@PMIx_Get_version
66+
#define PMIx_Store_internal @PMIX_RENAME@PMIx_Store_internal
6467

65-
#define @PMIX_RENAME@pmix_value_load pmix_value_load
66-
#define @PMIX_RENAME@pmix_value_xfer pmix_value_xfer
67-
#define @PMIX_RENAME@pmix_globals pmix_globals
68-
#define @PMIX_RENAME@pmix_output pmix_output
69-
#define @PMIX_RENAME@pmix_output_verbose pmix_output_verbose
68+
#define pmix_value_load @PMIX_RENAME@pmix_value_load
69+
#define pmix_value_xfer @PMIX_RENAME@pmix_value_xfer
70+
#define pmix_globals @PMIX_RENAME@pmix_globals
71+
#define pmix_output @PMIX_RENAME@pmix_output
72+
#define pmix_output_verbose @PMIX_RENAME@pmix_output_verbose
7073

7174
#endif

opal/mca/pmix/pmix3x/pmix/src/client/pmix_client.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -351,17 +351,6 @@ PMIX_EXPORT pmix_status_t PMIx_Init(pmix_proc_t *proc,
351351
}
352352
#endif /* PMIX_ENABLE_DSTORE */
353353

354-
if (!pmix_globals.external_evbase) {
355-
/* tell the event library we need thread support */
356-
pmix_event_use_threads();
357-
358-
/* create an event base and progress thread for us */
359-
if (NULL == (pmix_globals.evbase = pmix_progress_thread_init(NULL))) {
360-
return -1;
361-
362-
}
363-
}
364-
365354
/* setup an object to track server connection */
366355
PMIX_CONSTRUCT(&cb, pmix_cb_t);
367356
cb.active = true;
@@ -882,7 +871,6 @@ static pmix_status_t send_connect_ack(int sd)
882871
pmix_usock_hdr_t hdr;
883872
size_t sdsize=0, csize=0;
884873
char *cred = NULL;
885-
char *bfrop;
886874
char *sec;
887875

888876
pmix_output_verbose(2, pmix_globals.debug_output,

opal/mca/pmix/pmix3x/pmix/src/dstore/pmix_dstore.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (c) 2016 Mellanox Technologies, Inc.
33
* All rights reserved.
4-
* Copyright (c) 2016 Intel, Inc. All rights reserved
4+
* Copyright (c) 2016 Intel, Inc. All rights reserved.
55
* $COPYRIGHT$
66
*
77
* Additional copyrights may follow

opal/mca/pmix/pmix3x/pmix/src/dstore/pmix_esh.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,10 @@ int _esh_init(pmix_info_t info[], size_t ninfo)
617617
*
618618
* PMIX_DSTPATH has higher priority than PMIX_SERVER_TMPDIR
619619
*/
620-
dstor_tmpdir = (char*)info[n].value.data.ptr;
620+
if (NULL != dstor_tmpdir) {
621+
free(dstor_tmpdir);
622+
}
623+
dstor_tmpdir = strdup((char*)info[n].value.data.string);
621624
continue;
622625
}
623626
if (0 == strcmp(PMIX_SERVER_TMPDIR, info[n].key)) {
@@ -1002,7 +1005,7 @@ int _esh_fetch(const char *nspace, pmix_rank_t rank, const char *key, pmix_value
10021005
goto done;
10031006
} else {
10041007
char ckey[PMIX_MAX_KEYLEN+1] = {0};
1005-
strncpy(ckey, (const char *)addr, PMIX_MAX_KEYLEN+1);
1008+
strncpy(ckey, (const char *)addr, PMIX_MAX_KEYLEN);
10061009
size_t size;
10071010
memcpy(&size, addr + PMIX_MAX_KEYLEN + 1, sizeof(size_t));
10081011
PMIX_OUTPUT_VERBOSE((10, pmix_globals.debug_output,

0 commit comments

Comments
 (0)