\hypertarget{pls__submit_8h}{\section{orte/mca/plm/submit/pls\+\_\+submit.h File Reference}
\label{pls__submit_8h}\index{orte/mca/plm/submit/pls\+\_\+submit.\+h@{orte/mca/plm/submit/pls\+\_\+submit.\+h}}
}


Part of the submit launcher.  


{\ttfamily \#include \char`\"{}orte\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/plm/plm.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/threads/condition.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structorte__plm__submit__component__t}{orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+t}
\begin{DoxyCompactList}\small\item\em P\+L\+M Component. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pls__submit_8h_a2c1ffe1105f231479bc360a6e08d1144}{typedef struct \\*
\hyperlink{structorte__plm__submit__component__t}{orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+t} {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+t}}\label{pls__submit_8h_a2c1ffe1105f231479bc360a6e08d1144}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pls__submit_8h_a47f22233e10715a20a705d4eec53792b}{B\+E\+G\+I\+N\+\_\+\+C\+\_\+\+D\+E\+C\+L\+S int {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+open} (void)}\label{pls__submit_8h_a47f22233e10715a20a705d4eec53792b}

\item 
\hypertarget{pls__submit_8h_af285c45e7780a04b7cc89de7aef91e5e}{int {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+close} (void)}\label{pls__submit_8h_af285c45e7780a04b7cc89de7aef91e5e}

\item 
\hypertarget{pls__submit_8h_ae0d3050c1e831b29aa338a4457817b9d}{int {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+query} (\hyperlink{mca_8h_a754b82edf8c7a63b09f7ee5270031bdd}{mca\+\_\+base\+\_\+module\+\_\+t} $\ast$$\ast$module, int $\ast$priority)}\label{pls__submit_8h_ae0d3050c1e831b29aa338a4457817b9d}

\item 
\hypertarget{pls__submit_8h_ae5bbec39a8bf76f355b3d69cf8d33037}{int {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+finalize} (void)}\label{pls__submit_8h_ae5bbec39a8bf76f355b3d69cf8d33037}

\item 
int \hyperlink{pls__submit_8h_ad695a8743ea6cda7ce35ae8b823e2a32}{orte\+\_\+plm\+\_\+submit\+\_\+launch} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Launch a daemon (bootproxy) on each node. \end{DoxyCompactList}\item 
\hypertarget{pls__submit_8h_aa072b34707eea6b8c1f576e778228472}{int \hyperlink{pls__submit_8h_aa072b34707eea6b8c1f576e778228472}{orte\+\_\+plm\+\_\+submit\+\_\+terminate\+\_\+orteds} (void)}\label{pls__submit_8h_aa072b34707eea6b8c1f576e778228472}

\begin{DoxyCompactList}\small\item\em Terminate the orteds for a given job. \end{DoxyCompactList}\item 
\hypertarget{pls__submit_8h_a186d24b92479a711f155bfab6cc5c6cc}{int {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+signal\+\_\+job} (\hyperlink{orte_2include_2orte_2types_8h_addefe647f31eee13c7f756f0d959a99b}{orte\+\_\+jobid\+\_\+t}, int32\+\_\+t)}\label{pls__submit_8h_a186d24b92479a711f155bfab6cc5c6cc}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pls__submit_8h_a43e9b809f300cfd0ddd8ce8fdbb469db}{O\+R\+T\+E\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structorte__plm__submit__component__t}{orte\+\_\+plm\+\_\+submit\+\_\+component\+\_\+t} {\bfseries mca\+\_\+plm\+\_\+submit\+\_\+component}}\label{pls__submit_8h_a43e9b809f300cfd0ddd8ce8fdbb469db}

\item 
\hypertarget{pls__submit_8h_a2fda95fed3fcc91f183bc511cf055caf}{\hyperlink{plm_8h_ad598c6b317620c8ae5f433b64d301371}{orte\+\_\+plm\+\_\+base\+\_\+module\+\_\+t} {\bfseries orte\+\_\+plm\+\_\+submit\+\_\+module}}\label{pls__submit_8h_a2fda95fed3fcc91f183bc511cf055caf}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Part of the submit launcher. 

See plm\+\_\+submit.\+h for an overview of how it works. 

\subsection{Function Documentation}
\hypertarget{pls__submit_8h_ad695a8743ea6cda7ce35ae8b823e2a32}{\index{pls\+\_\+submit.\+h@{pls\+\_\+submit.\+h}!orte\+\_\+plm\+\_\+submit\+\_\+launch@{orte\+\_\+plm\+\_\+submit\+\_\+launch}}
\index{orte\+\_\+plm\+\_\+submit\+\_\+launch@{orte\+\_\+plm\+\_\+submit\+\_\+launch}!pls\+\_\+submit.\+h@{pls\+\_\+submit.\+h}}
\subsubsection[{orte\+\_\+plm\+\_\+submit\+\_\+launch}]{\setlength{\rightskip}{0pt plus 5cm}int orte\+\_\+plm\+\_\+submit\+\_\+launch (
\begin{DoxyParamCaption}
\item[{{\bf orte\+\_\+job\+\_\+t} $\ast$}]{jdata}
\end{DoxyParamCaption}
)}}\label{pls__submit_8h_ad695a8743ea6cda7ce35ae8b823e2a32}


Launch a daemon (bootproxy) on each node. 

The daemon will be responsible for launching the application. If we are in '--debug-\/daemons' we keep the ssh connection alive for the span of the run. If we use this option A\+N\+D we launch on more than \char`\"{}num\+\_\+concurrent\char`\"{} machines then we will deadlock. No connections are terminated until the job is complete, no job is started since all the orteds are waiting for all the others to come online, and the others ore not launched because we are waiting on those that have started to terminate their ssh tunnels. \+:( As we cannot run in this situation, pretty print the error and return an error code.

References opal\+\_\+pointer\+\_\+array\+\_\+t\+::addr, mca\+\_\+base\+\_\+param\+\_\+environ\+\_\+variable(), orte\+\_\+node\+\_\+t\+::name, orte\+\_\+proc\+\_\+info\+\_\+t\+::nodename, opal\+\_\+argv\+\_\+append(), opal\+\_\+argv\+\_\+copy(), opal\+\_\+argv\+\_\+free(), opal\+\_\+argv\+\_\+join(), opal\+\_\+basename(), opal\+\_\+os\+\_\+path(), opal\+\_\+output(), O\+P\+A\+L\+\_\+\+O\+U\+T\+P\+U\+T\+\_\+\+V\+E\+R\+B\+O\+S\+E, opal\+\_\+setenv(), O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+L\+O\+C\+K, O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+U\+N\+L\+O\+C\+K, orte\+\_\+plm\+\_\+base\+\_\+orted\+\_\+append\+\_\+basic\+\_\+args(), orte\+\_\+plm\+\_\+globals, O\+R\+T\+E\+\_\+\+P\+R\+O\+C\+\_\+\+M\+Y\+\_\+\+N\+A\+M\+E, orte\+\_\+process\+\_\+info, orte\+\_\+show\+\_\+help(), orte\+\_\+wait\+\_\+cb(), orte\+\_\+plm\+\_\+globals\+\_\+t\+::output, orte\+\_\+app\+\_\+context\+\_\+t\+::prefix\+\_\+dir, and orte\+\_\+errmgr\+\_\+base\+\_\+module\+\_\+2\+\_\+3\+\_\+0\+\_\+t\+::update\+\_\+state.

