MCPcopy Create free account
hub / github.com/dmtcp/dmtcp / createNewConnectionBeforeFork

Function createNewConnectionBeforeFork

src/coordinatorapi.cpp:665–686  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

663}
664
665int
666createNewConnectionBeforeFork(string& progname)
667{
668 struct sockaddr_storage addr;
669 uint32_t len;
670 SharedData::getCoordAddr((struct sockaddr *)&addr, &len);
671 socklen_t addrlen = len;
672 int sock = jalib::JClientSocket((struct sockaddr *)&addr, addrlen);
673 JASSERT(sock != -1);
674
675 DmtcpMessage hello_local(DMT_NEW_WORKER);
676 DmtcpMessage hello_remote = sendRecvHandshake(sock, hello_local, progname);
677 JASSERT(hello_remote.virtualPid != -1);
678
679 if (dmtcp_virtual_to_real_pid) {
680 JTRACE("Got virtual pid from coordinator") (hello_remote.virtualPid);
681 pid_t pid = getpid();
682 pid_t realPid = dmtcp_virtual_to_real_pid(pid);
683 Util::setVirtualPidEnvVar(hello_remote.virtualPid, 0, pid, realPid);
684 }
685 return sock;
686}
687
688void
689connectToCoordOnRestart(CoordinatorMode mode,

Callers 1

atForkPrepareFunction · 0.85

Calls 4

JClientSocketClass · 0.85
sendRecvHandshakeFunction · 0.85
getpidFunction · 0.50

Tested by

no test coverage detected