\hypertarget{ess_8h}{\section{orte/mca/ess/ess.h File Reference}
\label{ess_8h}\index{orte/mca/ess/ess.\+h@{orte/mca/ess/ess.\+h}}
}


The Open\+R\+T\+E Environment-\/\+Specific Services.  


{\ttfamily \#include \char`\"{}orte\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/types.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/paffinity/paffinity.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/proc\+\_\+info.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structorte__ess__base__module__1__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+1\+\_\+0\+\_\+0\+\_\+t}
\item 
struct \hyperlink{structorte__ess__base__component__2__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bfseries O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ess_8h_a4633888b0742769bf38f451d5448304c}{typedef int($\ast$ {\bfseries orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+finalize\+\_\+fn\+\_\+t} )(void)}\label{ess_8h_a4633888b0742769bf38f451d5448304c}

\item 
typedef void($\ast$ \hyperlink{ess_8h_ad7de94ac357b004c5f9bf977422ebde8}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t} )(int status, bool report) \+\_\+\+\_\+opal\+\_\+attribute\+\_\+noreturn\+\_\+funcptr\+\_\+\+\_\+
\begin{DoxyCompactList}\small\item\em Abort the current application. \end{DoxyCompactList}\item 
typedef opal\+\_\+paffinity\+\_\+locality\+\_\+t($\ast$ \hyperlink{ess_8h_ac10b884eef9354ee470428678400fbab}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Get the locality flag of the specified process. \end{DoxyCompactList}\item 
typedef orte\+\_\+vpid\+\_\+t($\ast$ \hyperlink{ess_8h_afa39e09757140a5983858026a2e60648}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Get the vpid of the daemon who hosts the specified proc. \end{DoxyCompactList}\item 
typedef char $\ast$($\ast$ \hyperlink{ess_8h_ae07829fe1da7b272bd996b95edb8f873}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Get the hostname where a proc resides. \end{DoxyCompactList}\item 
\hypertarget{ess_8h_af3e54ba51d08f00b705224608f8e0be9}{typedef \hyperlink{orte_2include_2orte_2types_8h_a270fe643612e8fcbfea3531b54ce292d}{orte\+\_\+local\+\_\+rank\+\_\+t}($\ast$ \hyperlink{ess_8h_af3e54ba51d08f00b705224608f8e0be9}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+local\+\_\+rank\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}\label{ess_8h_af3e54ba51d08f00b705224608f8e0be9}

\begin{DoxyCompactList}\small\item\em Get the local rank of a remote process. \end{DoxyCompactList}\item 
\hypertarget{ess_8h_a4aa32c0c2ca6ebab477ba76cff9e0d4f}{typedef orte\+\_\+node\+\_\+rank\+\_\+t($\ast$ \hyperlink{ess_8h_a4aa32c0c2ca6ebab477ba76cff9e0d4f}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+node\+\_\+rank\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}\label{ess_8h_a4aa32c0c2ca6ebab477ba76cff9e0d4f}

\begin{DoxyCompactList}\small\item\em Get the node rank of a remote process. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{ess_8h_af92161efc8af47c0fbfab5baca3fa748}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t} )(\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Update the epoch. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{ess_8h_a76737be989b3afdc0830a04c816077f7}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t} )(\hyperlink{structopal__byte__object__t}{opal\+\_\+byte\+\_\+object\+\_\+t} $\ast$bo)
\begin{DoxyCompactList}\small\item\em Update the pidmap. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{ess_8h_abb47f6c0e84d065214c33d9e1270bacc}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t} )(\hyperlink{structopal__byte__object__t}{opal\+\_\+byte\+\_\+object\+\_\+t} $\ast$bo)
\begin{DoxyCompactList}\small\item\em Update a nidmap. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{ess_8h_a955eb657d95322382d8ce1fc456da95e}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t} )(int state)
\begin{DoxyCompactList}\small\item\em Handle fault tolerance updates. \end{DoxyCompactList}\item 
\hypertarget{ess_8h_aaa6943b90f7550c1d6a59bb0ebafc439}{typedef struct \\*
\hyperlink{structorte__ess__base__module__1__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+1\+\_\+0\+\_\+0\+\_\+t} {\bfseries orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+1\+\_\+0\+\_\+0\+\_\+t}}\label{ess_8h_aaa6943b90f7550c1d6a59bb0ebafc439}

\item 
\hypertarget{ess_8h_ade9b8243b5846b5c47debcc65be04eb9}{typedef struct \\*
\hyperlink{structorte__ess__base__module__1__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+1\+\_\+0\+\_\+0\+\_\+t} {\bfseries orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+t}}\label{ess_8h_ade9b8243b5846b5c47debcc65be04eb9}

\item 
\hypertarget{ess_8h_a63b012ecc3df5080e6f6bd4ed2a432e5}{typedef struct \\*
\hyperlink{structorte__ess__base__component__2__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t} {\bfseries orte\+\_\+ess\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t}}\label{ess_8h_a63b012ecc3df5080e6f6bd4ed2a432e5}

\item 
\hypertarget{ess_8h_a850433c70a85ebf3e3261f6b9645e5be}{typedef struct \\*
\hyperlink{structorte__ess__base__component__2__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t} {\bfseries orte\+\_\+ess\+\_\+base\+\_\+component\+\_\+t}}\label{ess_8h_a850433c70a85ebf3e3261f6b9645e5be}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ess_8h_a660a7d7b9ec9c376b3116622b9206a16}{B\+E\+G\+I\+N\+\_\+\+C\+\_\+\+D\+E\+C\+L\+S typedef int($\ast$ {\bfseries orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+init\+\_\+fn\+\_\+t} )(void)}\label{ess_8h_a660a7d7b9ec9c376b3116622b9206a16}

\item 
\hypertarget{ess_8h_aace4987c6aa833d75feecbeed0735c55}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structorte__ess__base__module__1__0__0__t}{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+t} {\bfseries orte\+\_\+ess}}\label{ess_8h_aace4987c6aa833d75feecbeed0735c55}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The Open\+R\+T\+E Environment-\/\+Specific Services. 



\subsection{Macro Definition Documentation}
\hypertarget{ess_8h_a99779a1e8c657e82ebd1b0420ac3c04e}{\index{ess.\+h@{ess.\+h}!O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0@{O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0}}
\index{O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0@{O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0}!ess.\+h@{ess.\+h}}
\subsubsection[{O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0}]{\setlength{\rightskip}{0pt plus 5cm}\#define O\+R\+T\+E\+\_\+\+E\+S\+S\+\_\+\+B\+A\+S\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+2\+\_\+0\+\_\+0}}\label{ess_8h_a99779a1e8c657e82ebd1b0420ac3c04e}
{\bfseries Value\+:}
\begin{DoxyCode}
MCA\_BASE\_VERSION\_2\_0\_0, \(\backslash\)
  \textcolor{stringliteral}{"ess"}, 2, 0, 0
\end{DoxyCode}


\subsection{Typedef Documentation}
\hypertarget{ess_8h_ad7de94ac357b004c5f9bf977422ebde8}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+abort\+\_\+fn\+\_\+t)(int status, bool report) \+\_\+\+\_\+opal\+\_\+attribute\+\_\+noreturn\+\_\+funcptr\+\_\+\+\_\+}}\label{ess_8h_ad7de94ac357b004c5f9bf977422ebde8}


Abort the current application. 

Aborts currently running application, N\+O\+T\+E\+: We do N\+O\+T call the regular C-\/library \char`\"{}abort\char`\"{} function, even though that would have alerted us to the fact that this is an abnormal termination, because it would automatically cause a core file to be generated. The \char`\"{}report\char`\"{} flag indicates if the function should create an appropriate file to alert the local orted that termination was abnormal. \hypertarget{ess_8h_a955eb657d95322382d8ce1fc456da95e}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+ft\+\_\+event\+\_\+fn\+\_\+t)(int state)}}\label{ess_8h_a955eb657d95322382d8ce1fc456da95e}


Handle fault tolerance updates. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em state} & Fault tolerance state update\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em O\+R\+T\+E\+\_\+\+S\+U\+C\+C\+E\+S\+S} & The operation completed successfully \\
\hline
{\em O\+R\+T\+E\+\_\+\+E\+R\+R\+O\+R} & An unspecifed error occurred \\
\hline
\end{DoxyRetVals}
\hypertarget{ess_8h_ac10b884eef9354ee470428678400fbab}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef opal\+\_\+paffinity\+\_\+locality\+\_\+t($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+get\+\_\+proc\+\_\+locality\+\_\+fn\+\_\+t)({\bf orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}}\label{ess_8h_ac10b884eef9354ee470428678400fbab}


Get the locality flag of the specified process. 

M\+P\+I procs need to know whether a proc shares a common socket, board, node, computing unit, or cluster. This function provides a means for an M\+P\+I proc to query the locality of another proc. \hypertarget{ess_8h_afa39e09757140a5983858026a2e60648}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef orte\+\_\+vpid\+\_\+t($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+daemon\+\_\+fn\+\_\+t)({\bf orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}}\label{ess_8h_afa39e09757140a5983858026a2e60648}


Get the vpid of the daemon who hosts the specified proc. 

In order to route messages to the correct place, the R\+M\+L and routed modules need to know the vpid of the daemon that hosts the intended recipient. This A\+P\+I accesses the pidmap/nidmap to retrieve that info \hypertarget{ess_8h_af92161efc8af47c0fbfab5baca3fa748}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+epoch\+\_\+fn\+\_\+t)({\bf orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}}\label{ess_8h_af92161efc8af47c0fbfab5baca3fa748}


Update the epoch. 

The epochs of the processes are stored in the process\+\_\+name struct, but this will get the most up to date version stored within the \hyperlink{structorte__proc__t}{orte\+\_\+proc\+\_\+t} struct. Obviously the epoch of the proc that is passed in will be ignored. \hypertarget{ess_8h_ae07829fe1da7b272bd996b95edb8f873}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef char$\ast$($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+proc\+\_\+get\+\_\+hostname\+\_\+fn\+\_\+t)({\bf orte\+\_\+process\+\_\+name\+\_\+t} $\ast$proc)}}\label{ess_8h_ae07829fe1da7b272bd996b95edb8f873}


Get the hostname where a proc resides. 

M\+P\+I procs need to know the hostname where a specified proc resides. Different environments provide that info in different ways -\/ e.\+g., they may provide a callable utility to return the answer, or download a map of information into each process. This A\+P\+I provides a means for each environment to do the \char`\"{}right thing\char`\"{}.

N\+O\+T\+E\+: To avoid memory waste, this function returns a pointer to a static storage. I\+T M\+U\+S\+T N\+O\+T B\+E F\+R\+E\+E\+D! \hypertarget{ess_8h_abb47f6c0e84d065214c33d9e1270bacc}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+nidmap\+\_\+fn\+\_\+t)({\bf opal\+\_\+byte\+\_\+object\+\_\+t} $\ast$bo)}}\label{ess_8h_abb47f6c0e84d065214c33d9e1270bacc}


Update a nidmap. 

When a job is dynamically launched via comm\+\_\+spawn, the pre-\/existing daemons need to update their knowledge of the node map that contains info on what daemon resides on which nodes \hypertarget{ess_8h_a76737be989b3afdc0830a04c816077f7}{\index{ess.\+h@{ess.\+h}!orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t}}
\index{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t@{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t}!ess.\+h@{ess.\+h}}
\subsubsection[{orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ orte\+\_\+ess\+\_\+base\+\_\+module\+\_\+update\+\_\+pidmap\+\_\+fn\+\_\+t)({\bf opal\+\_\+byte\+\_\+object\+\_\+t} $\ast$bo)}}\label{ess_8h_a76737be989b3afdc0830a04c816077f7}


Update the pidmap. 

When a job is dynamically launched via comm\+\_\+spawn, the pre-\/existing daemons need to update their knowledge of the process map within the job so they can properly do things like route messages. This A\+P\+I allows daemons -\/ and anyone else who wants to -\/ to add a pidmap for a new job 