From 94652988f67b3215701b39a1e560078bf4883218 Mon Sep 17 00:00:00 2001
From: FKHals <5229803-FKHals@users.noreply.gitlab.com>
Date: Tue, 11 May 2021 18:10:38 +0200
Subject: [PATCH] Add vpid to data that is send to agent

to make the mapping <jobid>,<vpid> -> <rank> possible.
---
 ompi/communicator/comm_init.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/ompi/communicator/comm_init.c b/ompi/communicator/comm_init.c
index 3766fb2380..ab1b87b190 100644
--- a/ompi/communicator/comm_init.c
+++ b/ompi/communicator/comm_init.c
@@ -96,7 +96,7 @@ static void errorExit(char* msg) {
 }
 
 // TODO: Change int return to size_t!
-static int getProcessAgentRank(uint32_t jobid, size_t size) {
+static int getProcessAgentRank(uint32_t jobid, uint32_t vpid, size_t size) {
     struct sockaddr_un strAddr;
     socklen_t lenAddr;
     int fdSock;
@@ -115,7 +115,9 @@ static int getProcessAgentRank(uint32_t jobid, size_t size) {
     pid_t pid = getpid();
 
     char info_to_send[BUFFLEN];
-    snprintf(info_to_send, BUFFLEN+1, "Spawned - PID: %d, jobID: %u, size: %zu", pid, jobid, size);
+    snprintf(info_to_send, BUFFLEN+1,
+             "Spawned - PID: %d, vpid: %u, jobID: %u, size: %zu",
+             pid, vpid, jobid, size);
     if (send(fdSock, info_to_send, BUFFLEN+1, 0) < 0) {
         errorExit("send");
     }
@@ -165,7 +167,7 @@ int ompi_comm_init(void)
         opal_process_name_t name = {.vpid = i, .jobid = OMPI_PROC_MY_NAME->jobid};
         /* get desired rank from agent (must be within size!)*/
         // TODO: Change int to size_t
-        size_t desired_rank = getProcessAgentRank(name.jobid, size);
+        size_t desired_rank = getProcessAgentRank(name.jobid, name.vpid, size);
         printf("INIT Loop Rank: %zu\n", desired_rank);
         /* look for existing ompi_proc_t that matches this name */
         group->grp_proc_pointers[desired_rank] = (ompi_proc_t *) ompi_proc_lookup (name);
-- 
GitLab