Skip to content

Commit efd715e

Browse files
author
Ralph Castain
authored
Merge pull request #4760 from rhc54/topic/map
Correct mapping errors
2 parents 168e74d + 1a7dfd7 commit efd715e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+478
-2094
lines changed

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=git3bd2b2d
33+
repo_rev=gitefa7fe7
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="Feb 03, 2018"
47+
date="Feb 07, 2018"
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/contrib/pmix-valgrind.supp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- text -*-
22
#
3-
# Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
3+
# Copyright (c) 2015 Intel, Inc. All rights reserved.
44
# $COPYRIGHT$
55
#
66
# Additional copyrights may follow

opal/mca/pmix/pmix3x/pmix/examples/debuggerd.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* All rights reserved.
1414
* Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
1515
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
16-
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
16+
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
1717
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
1818
* $COPYRIGHT$
1919
*
@@ -41,7 +41,6 @@ typedef struct {
4141
} myquery_data_t;
4242

4343

44-
static volatile bool waiting_for_debugger = true;
4544
static pmix_proc_t myproc;
4645

4746
/* this is a callback function for the PMIx_Query
@@ -134,11 +133,6 @@ int main(int argc, char **argv)
134133
size_t nq, n;
135134
myquery_data_t myquery_data;
136135

137-
fprintf(stderr, "I AM HERE\n");
138-
fflush(stderr);
139-
sleep(10);
140-
exit(0);
141-
142136
/* init us - since we were launched by the RM, our connection info
143137
* will have been provided at startup. */
144138
if (PMIX_SUCCESS != (rc = PMIx_tool_init(&myproc, NULL, 0))) {
@@ -216,7 +210,7 @@ fflush(stderr);
216210
n = 0;
217211
fprintf(stderr, "[%s:%u] Hanging around awhile, doing debugger magic\n", myproc.nspace, myproc.rank);
218212
while (n < 5) {
219-
usleep(1000);
213+
usleep(10);
220214
++n;
221215
}
222216

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

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,7 @@ PMIX_EXPORT pmix_status_t PMIx_Process_monitor_nb(const pmix_info_t *monitor, pm
567567
PMIX_INFO_DESTRUCT(&_in); \
568568
} while(0)
569569

570+
570571
/* Request a credential from the PMIx server/SMS.
571572
* Input values include:
572573
*
@@ -631,87 +632,6 @@ PMIX_EXPORT pmix_status_t PMIx_Validate_credential(const pmix_byte_object_t *cre
631632
const pmix_info_t info[], size_t ninfo,
632633
pmix_validation_cbfunc_t cbfunc, void *cbdata);
633634

634-
/* Define a callback function for delivering forwarded IO to a process
635-
* This function will be called whenever data becomes available, or a
636-
* specified buffering size and/or time has been met. The function
637-
* will be passed the following values:
638-
*
639-
* iofhdlr - the returned registration number of the handler being invoked.
640-
* This is required when deregistering the handler.
641-
*
642-
* channel - a bitmask identifying the channel the data arrived on
643-
*
644-
* source - the nspace/rank of the process that generated the data
645-
*
646-
* payload - pointer to character array containing the data. Note that
647-
* multiple strings may be included, and that the array may
648-
* _not_ be NULL terminated
649-
*
650-
* info - an optional array of info provided by the source containing
651-
* metadata about the payload. This could include PMIX_IOF_COMPLETE
652-
*
653-
* ninfo - number of elements in the optional info array
654-
*/
655-
typedef void (*pmix_iof_cbfunc_t)(size_t iofhdlr, pmix_iof_channel_t channel,
656-
pmix_proc_t *source, char *payload,
657-
pmix_info_t info[], size_t ninfo);
658-
659-
660-
/* Register to receive IO forwarded from a remote process.
661-
*
662-
* procs - array of identifiers for sources whose IO is being
663-
* requested. Wildcard rank indicates that all procs
664-
* in the specified nspace are included in the request
665-
*
666-
* nprocs - number of identifiers in the procs array
667-
*
668-
* directives - optional array of attributes to control the
669-
* behavior of the request. For example, this
670-
* might include directives on buffering IO
671-
* before delivery, and/or directives to include
672-
* or exclude any backlogged data
673-
*
674-
* ndirs - number of elements in the directives array
675-
*
676-
* channel - bitmask of IO channels included in the request
677-
*
678-
* cbfunc - function to be called when relevant IO is received
679-
*
680-
* regcbfunc - since registration is async, this is the
681-
* function to be called when registration is
682-
* completed. The function itself will return
683-
* a non-success error if the registration cannot
684-
* be submitted - in this case, the regcbfunc
685-
* will _not_ be called.
686-
*
687-
* cbdata - pointer to object to be returned in regcbfunc
688-
*/
689-
PMIX_EXPORT pmix_status_t PMIx_IOF_register(const pmix_proc_t procs[], size_t nprocs,
690-
const pmix_info_t directives[], size_t ndirs,
691-
pmix_iof_channel_t channel, pmix_iof_cbfunc_t cbfunc,
692-
pmix_hdlr_reg_cbfunc_t regcbfunc, void *regcbdata);
693-
694-
/* Deregister from IO forwarded from a remote process.
695-
*
696-
* iofhdlr - the registration number returned from the
697-
* call to PMIx_IOF_register
698-
*
699-
* directives - optional array of attributes to control the
700-
* behavior of the request. For example, this
701-
* might include directives regarding what to
702-
* do with any data currently in the IO buffer
703-
* for this process
704-
*
705-
* cbfunc - function to be called when deregistration has
706-
* been completed. Note that any IO to be flushed
707-
* may continue to be received after deregistration
708-
* has completed.
709-
*
710-
* cbdata - pointer to object to be returned in cbfunc
711-
*/
712-
PMIX_EXPORT pmix_status_t PMIx_IOF_deregister(size_t iofhdlr,
713-
const pmix_info_t directives[], size_t ndirs,
714-
pmix_op_cbfunc_t cbfunc, void *cbdata);
715635

716636
#if defined(c_plusplus) || defined(__cplusplus)
717637
}

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

Lines changed: 22 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ typedef uint32_t pmix_rank_t;
147147
#define PMIX_CONNECT_RETRY_DELAY "pmix.tool.retry" // (uint32_t) time in seconds between connection attempts
148148
#define PMIX_TOOL_DO_NOT_CONNECT "pmix.tool.nocon" // (bool) the tool wants to use internal PMIx support, but does
149149
// not want to connect to a PMIx server
150-
// from the specified processes to this tool
151150

152151
/* identification attributes */
153152
#define PMIX_USERID "pmix.euid" // (uint32_t) effective user id
@@ -221,9 +220,7 @@ typedef uint32_t pmix_rank_t;
221220
#define PMIX_LOCAL_CPUSETS "pmix.lcpus" // (char*) colon-delimited cpusets of local peers within the specified nspace
222221
#define PMIX_PROC_URI "pmix.puri" // (char*) URI containing contact info for proc
223222
#define PMIX_LOCALITY "pmix.loc" // (uint16_t) relative locality of two procs
224-
#define PMIX_PARENT_ID "pmix.parent" // (pmix_proc_t*) identifier of the process that called PMIx_Spawn
225-
// to launch this proc's application
226-
223+
#define PMIX_PARENT_ID "pmix.parent" // (pmix_proc_t) process identifier of my parent process
227224

228225
/* size info */
229226
#define PMIX_UNIV_SIZE "pmix.univ.size" // (uint32_t) #procs in this nspace
@@ -327,7 +324,7 @@ typedef uint32_t pmix_rank_t;
327324
#define PMIX_EVENT_WANT_TERMINATION "pmix.evterm" // (bool) indicates that the handler has determined that the application should be terminated
328325

329326

330-
/* attributes used to describe "spawn" directives */
327+
/* attributes used to describe "spawn" attributes */
331328
#define PMIX_PERSONALITY "pmix.pers" // (char*) name of personality to use
332329
#define PMIX_HOST "pmix.host" // (char*) comma-delimited list of hosts to use for spawned procs
333330
#define PMIX_HOSTFILE "pmix.hostfile" // (char*) hostfile to use for spawned procs
@@ -345,6 +342,9 @@ typedef uint32_t pmix_rank_t;
345342
#define PMIX_PRELOAD_FILES "pmix.preloadfiles" // (char*) comma-delimited list of files to pre-position
346343
#define PMIX_NON_PMI "pmix.nonpmi" // (bool) spawned procs will not call PMIx_Init
347344
#define PMIX_STDIN_TGT "pmix.stdin" // (uint32_t) spawned proc rank that is to receive stdin
345+
#define PMIX_FWD_STDIN "pmix.fwd.stdin" // (bool) forward my stdin to the designated proc
346+
#define PMIX_FWD_STDOUT "pmix.fwd.stdout" // (bool) forward stdout from spawned procs to me
347+
#define PMIX_FWD_STDERR "pmix.fwd.stderr" // (bool) forward stderr from spawned procs to me
348348
#define PMIX_DEBUGGER_DAEMONS "pmix.debugger" // (bool) spawned app consists of debugger daemons
349349
#define PMIX_COSPAWN_APP "pmix.cospawn" // (bool) designated app is to be spawned as a disconnected
350350
// job - i.e., not part of the "comm_world" of the job
@@ -364,11 +364,6 @@ typedef uint32_t pmix_rank_t;
364364
#define PMIX_JOB_CONTINUOUS "pmix.continuous" // (bool) application is continuous, all failed procs should
365365
// be immediately restarted
366366
#define PMIX_MAX_RESTARTS "pmix.maxrestarts" // (uint32_t) max number of times to restart a job
367-
#define PMIX_FWD_STDIN "pmix.fwd.stdin" // (bool) forward the stdin from this process to the spawned processes
368-
#define PMIX_FWD_STDOUT "pmix.fwd.stdout" // (bool) forward stdout from the spawned processes to this process (typically used by a tool)
369-
#define PMIX_FWD_STDERR "pmix.fwd.stderr" // (bool) forward stderr from the spawned processes to this process (typically used by a tool)
370-
#define PMIX_FWD_STDDIAG "pmix.fwd.stddiag" // (bool) if a diagnostic channel exists, forward any output on it
371-
// from the spawned processes to this process (typically used by a tool)
372367

373368

374369
/* connect attributes */
@@ -421,11 +416,6 @@ typedef uint32_t pmix_rank_t;
421416
#define PMIX_DEBUG_WAIT_FOR_NOTIFY "pmix.dbg.notify" // (bool) block at desired point until receiving debugger release notification
422417
#define PMIX_DEBUG_JOB "pmix.dbg.job" // (char*) nspace of the job to be debugged - the RM/PMIx server are
423418
#define PMIX_DEBUG_WAITING_FOR_NOTIFY "pmix.dbg.waiting" // (bool) job to be debugged is waiting for a release
424-
#define PMIX_PREPEND_LD_PRELOAD "pmix.prepend.preload" // (char*) prepend the named library to any existing
425-
// LD_PRELOAD directive
426-
#define PMIX_APPEND_LD_PRELOAD "pmix.append.preload" // (char*) append the named library to any existing
427-
// LD_PRELOAD directive
428-
429419

430420
/* Resource Manager identification */
431421
#define PMIX_RM_NAME "pmix.rm.name" // (char*) string name of the resource manager
@@ -730,8 +720,6 @@ typedef uint16_t pmix_data_type_t;
730720
#define PMIX_ALLOC_DIRECTIVE 43
731721
/**** DEPRECATED ****/
732722
#define PMIX_INFO_ARRAY 44
733-
/**** ****/
734-
#define PMIX_IOF_CHANNEL 45
735723
/********************/
736724

737725
/* define a boundary for implementers so they can add their own data types */
@@ -798,18 +786,6 @@ typedef uint8_t pmix_alloc_directive_t;
798786
#define PMIX_ALLOC_EXTERNAL 128
799787

800788

801-
/* define a set of bit-mask flags for specifying IO
802-
* forwarding channels. These can be OR'd together
803-
* to reference multiple channels */
804-
typedef uint16_t pmix_iof_channel_t;
805-
#define PMIX_FWD_NO_CHANNELS 0x00
806-
#define PMIX_FWD_STDIN_CHANNEL 0x01
807-
#define PMIX_FWD_STDOUT_CHANNEL 0x02
808-
#define PMIX_FWD_STDERR_CHANNEL 0x04
809-
#define PMIX_FWD_STDDIAG_CHANNEL 0x08
810-
#define PMIX_FWD_ALL_CHANNELS 0xff
811-
812-
813789
/**** PMIX BYTE OBJECT ****/
814790
typedef struct pmix_byte_object {
815791
char *bytes;
@@ -839,6 +815,14 @@ typedef struct pmix_byte_object {
839815
free((m)); \
840816
} while(0)
841817

818+
#define PMIX_BYTE_OBJECT_LOAD(b, d, s) \
819+
do { \
820+
(b)->bytes = (d); \
821+
(d) = NULL; \
822+
(b)->size = (s); \
823+
(s) = 0; \
824+
} while(0)
825+
842826

843827
/**** PMIX DATA BUFFER ****/
844828
typedef struct pmix_data_buffer {
@@ -1645,19 +1629,14 @@ typedef void (*pmix_notification_fn_t)(size_t evhdlr_registration_id,
16451629
pmix_event_notification_cbfunc_fn_t cbfunc,
16461630
void *cbdata);
16471631

1648-
/* define a callback function for calls to register handlers, e.g., event
1649-
* notification and IOF requests
1650-
*
1651-
* status - PMIX_SUCCESS or an appropriate error constant
1652-
*
1653-
* refid - reference identifier assigned to the handler by PMIx,
1654-
* used to deregister the handler
1655-
*
1656-
* cbdata - object provided to the registration call
1657-
*/
1658-
typedef void (*pmix_hdlr_reg_cbfunc_t)(pmix_status_t status,
1659-
size_t refid,
1660-
void *cbdata);
1632+
/* define a callback function for calls to PMIx_Register_evhdlr. The
1633+
* status indicates if the request was successful or not, evhdlr_ref is
1634+
* an integer reference assigned to the event handler by PMIx, this reference
1635+
* must be used to deregister the err handler. A ptr to the original
1636+
* cbdata is returned. */
1637+
typedef void (*pmix_evhdlr_reg_cbfunc_t)(pmix_status_t status,
1638+
size_t evhdlr_ref,
1639+
void *cbdata);
16611640

16621641
/* define a callback function for calls to PMIx_Get_nb. The status
16631642
* indicates if the requested data was found or not - a pointer to the
@@ -1782,7 +1761,7 @@ typedef void (*pmix_validation_cbfunc_t)(pmix_status_t status,
17821761
PMIX_EXPORT void PMIx_Register_event_handler(pmix_status_t codes[], size_t ncodes,
17831762
pmix_info_t info[], size_t ninfo,
17841763
pmix_notification_fn_t evhdlr,
1785-
pmix_hdlr_reg_cbfunc_t cbfunc,
1764+
pmix_evhdlr_reg_cbfunc_t cbfunc,
17861765
void *cbdata);
17871766

17881767
/* Deregister an event handler
@@ -1840,7 +1819,6 @@ PMIX_EXPORT pmix_status_t PMIx_Notify_event(pmix_status_t status,
18401819
* - pmix_info_directives_t (PMIX_INFO_DIRECTIVES)
18411820
* - pmix_data_type_t (PMIX_DATA_TYPE)
18421821
* - pmix_alloc_directive_t (PMIX_ALLOC_DIRECTIVE)
1843-
* - pmix_iof_channel_t (PMIX_IOF_CHANNEL)
18441822
*/
18451823
PMIX_EXPORT const char* PMIx_Error_string(pmix_status_t status);
18461824
PMIX_EXPORT const char* PMIx_Proc_state_string(pmix_proc_state_t state);
@@ -1850,7 +1828,6 @@ PMIX_EXPORT const char* PMIx_Data_range_string(pmix_data_range_t range);
18501828
PMIX_EXPORT const char* PMIx_Info_directives_string(pmix_info_directives_t directives);
18511829
PMIX_EXPORT const char* PMIx_Data_type_string(pmix_data_type_t type);
18521830
PMIX_EXPORT const char* PMIx_Alloc_directive_string(pmix_alloc_directive_t directive);
1853-
PMIX_EXPORT const char* PMIx_IOF_channel_string(pmix_iof_channel_t channel);
18541831

18551832
/* Get the PMIx version string. Note that the provided string is
18561833
* statically defined and must NOT be free'd */

0 commit comments

Comments
 (0)