\hypertarget{ompi__cr_8c}{\section{ompi/runtime/ompi\+\_\+cr.c File Reference}
\label{ompi__cr_8c}\index{ompi/runtime/ompi\+\_\+cr.\+c@{ompi/runtime/ompi\+\_\+cr.\+c}}
}


O\+M\+P\+I Layer Checkpoint/\+Restart Runtime functions.  


{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include $<$errno.\+h$>$}\\*
{\ttfamily \#include \char`\"{}opal/mca/event/event.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/util/output.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/crs/crs.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/crs/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/installdirs/installdirs.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/runtime/opal\+\_\+cr.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/snapc/snapc.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/snapc/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/constants.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/pml/pml.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/pml/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/crcp/crcp.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/crcp/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/communicator/communicator.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/runtime/ompi\+\_\+cr.\+h\char`\"{}}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi__cr_8c_a12afc390bd162db50ccaaee57e8a84fd}{\#define {\bfseries N\+U\+M\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+S}~16}\label{ompi__cr_8c_a12afc390bd162db50ccaaee57e8a84fd}

\item 
\#define {\bfseries S\+I\+G\+N\+A\+L}(comm, modules, highest\+\_\+module, msg, ret, func)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi__cr_8c_af5ee081beab9f5d70a4a79112faa915f}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+pre\+\_\+ckpt} (void)}\label{ompi__cr_8c_af5ee081beab9f5d70a4a79112faa915f}

\item 
\hypertarget{ompi__cr_8c_a68e13f33987a49ba11ee72ed082a923a}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+pre\+\_\+restart} (void)}\label{ompi__cr_8c_a68e13f33987a49ba11ee72ed082a923a}

\item 
\hypertarget{ompi__cr_8c_afb7cae427121a6e320c0580925f2a095}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+pre\+\_\+continue} (void)}\label{ompi__cr_8c_afb7cae427121a6e320c0580925f2a095}

\item 
\hypertarget{ompi__cr_8c_a5752f8ee6f38d94f9119531f5836aa6d}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+post\+\_\+ckpt} (void)}\label{ompi__cr_8c_a5752f8ee6f38d94f9119531f5836aa6d}

\item 
\hypertarget{ompi__cr_8c_a70fbdacc5fdf5cc6a0f45ab91feaccf9}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+post\+\_\+restart} (void)}\label{ompi__cr_8c_a70fbdacc5fdf5cc6a0f45ab91feaccf9}

\item 
\hypertarget{ompi__cr_8c_ae7d33958f2498b17bd2c1574bc4205d0}{static int {\bfseries ompi\+\_\+cr\+\_\+coord\+\_\+post\+\_\+continue} (void)}\label{ompi__cr_8c_ae7d33958f2498b17bd2c1574bc4205d0}

\item 
\hypertarget{ompi__cr_8c_abc87edb018f3d92ab03c300b5eda6f2c}{static int {\bfseries notify\+\_\+collectives} (int msg)}\label{ompi__cr_8c_abc87edb018f3d92ab03c300b5eda6f2c}

\item 
\hypertarget{ompi__cr_8c_a26f5e26936d8765a0cc64d1878b0b39f}{int {\bfseries ompi\+\_\+cr\+\_\+init} (void)}\label{ompi__cr_8c_a26f5e26936d8765a0cc64d1878b0b39f}

\item 
\hypertarget{ompi__cr_8c_a3219c85fe1b6636cb3fe4c3c95575e51}{int {\bfseries ompi\+\_\+cr\+\_\+finalize} (void)}\label{ompi__cr_8c_a3219c85fe1b6636cb3fe4c3c95575e51}

\item 
\hypertarget{ompi__cr_8c_ab3b107f8470c6a7485e6b2f196cce034}{int {\bfseries ompi\+\_\+cr\+\_\+coord} (int state)}\label{ompi__cr_8c_ab3b107f8470c6a7485e6b2f196cce034}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi__cr_8c_aac45c953fed850e997dc73f82c32c431}{static \hyperlink{opal__cr_8h_ad649ac030671cddf47f78952da6a336e}{opal\+\_\+cr\+\_\+coord\+\_\+callback\+\_\+fn\+\_\+t} {\bfseries prev\+\_\+coord\+\_\+callback} = N\+U\+L\+L}\label{ompi__cr_8c_aac45c953fed850e997dc73f82c32c431}

\item 
\hypertarget{ompi__cr_8c_a8e57deb2da742ec8bf0519ceaf537842}{int {\bfseries ompi\+\_\+cr\+\_\+output} = -\/1}\label{ompi__cr_8c_a8e57deb2da742ec8bf0519ceaf537842}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
O\+M\+P\+I Layer Checkpoint/\+Restart Runtime functions. 



\subsection{Macro Definition Documentation}
\hypertarget{ompi__cr_8c_ab0de2d895ff7be0763961f35c56671ce}{\index{ompi\+\_\+cr.\+c@{ompi\+\_\+cr.\+c}!S\+I\+G\+N\+A\+L@{S\+I\+G\+N\+A\+L}}
\index{S\+I\+G\+N\+A\+L@{S\+I\+G\+N\+A\+L}!ompi\+\_\+cr.\+c@{ompi\+\_\+cr.\+c}}
\subsubsection[{S\+I\+G\+N\+A\+L}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+I\+G\+N\+A\+L(
\begin{DoxyParamCaption}
\item[{}]{comm, }
\item[{}]{modules, }
\item[{}]{highest\+\_\+module, }
\item[{}]{msg, }
\item[{}]{ret, }
\item[{}]{func}
\end{DoxyParamCaption}
)}}\label{ompi__cr_8c_ab0de2d895ff7be0763961f35c56671ce}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                        \(\backslash\)
        bool found = \textcolor{keyword}{false};                                     \(\backslash\)
        int k;                                                  \hyperlink{coll_8h_aa26d67e9c1a6d83345102a7ef73ea7d1}{\(\backslash\)}
\hyperlink{coll_8h_aa26d67e9c1a6d83345102a7ef73ea7d1}{        mca\_coll\_base\_module\_t} *my\_module =               \(\backslash\)
            comm->c\_coll.coll\_ ## func ## \_module;              \(\backslash\)
        if (NULL != my\_module) \{                                \(\backslash\)
            for (k = 0 ; k < highest\_module ; ++k) \{            \(\backslash\)
                if (my\_module == modules[k]) found = \textcolor{keyword}{true};      \(\backslash\)
            \}                                                   \(\backslash\)
            if (!found) \{                                       \(\backslash\)
                modules[highest\_module++] = my\_module;          \(\backslash\)
                if (NULL != my\_module->ft\_event) \{              \(\backslash\)
                    ret = my\_module->\hyperlink{structmca__coll__base__module__2__0__0__t_ac695c2cd2a1fd9e1113394c98580fd14}{ft\_event}(msg);             \(\backslash\)
                \}                                               \(\backslash\)
            \}                                                   \(\backslash\)
        \}                                                       \(\backslash\)
    \} \textcolor{keywordflow}{while} (0)
\end{DoxyCode}
