\doxysection{SVM schedulers}
\hypertarget{group__schedulers}{}\label{group__schedulers}\index{SVM schedulers@{SVM schedulers}}


This module contains API functions to handle SVM schedulers.  


\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} \mbox{\hyperlink{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}{svm\+\_\+scheduler\+\_\+get}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_ga90c57554e1d1ea2967e133696d0cf2cd}{SVM\+\_\+\+Value\+\_\+\+Plugin\+Entry\+Point}} name)
\begin{DoxyCompactList}\small\item\em This function retrieves a scheduler from its name. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} \mbox{\hyperlink{group__schedulers_ga881ff52031684224eef308bbe67f7cac}{svm\+\_\+scheduler\+\_\+get\+\_\+current}} (const void \texorpdfstring{$\ast$}{*}svm)
\begin{DoxyCompactList}\small\item\em This function retrieves the current scheduler. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__schedulers_gae3aaf353cf32dccbaae8dba6946dac19}{svm\+\_\+scheduler\+\_\+get\+\_\+internal}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler)
\begin{DoxyCompactList}\small\item\em This function extracts the internal structure of a scheduler. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{struct_s_v_m___string}{SVM\+\_\+\+String}} \mbox{\hyperlink{group__schedulers_ga4bc540a05b004ebb325e7cdeca135eff}{svm\+\_\+scheduler\+\_\+print}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler)
\begin{DoxyCompactList}\small\item\em This function returns a string representation of the state of a scheduler. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} \mbox{\hyperlink{group__schedulers_ga79bb8ab9954164d9a3d03db31afef905}{svm\+\_\+scheduler\+\_\+process\+\_\+attach}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}} process, const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}} parameter)
\begin{DoxyCompactList}\small\item\em This function attaches a process to a scheduler with an integer value parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} \mbox{\hyperlink{group__schedulers_ga73f9a96662d921239a8120e9dfbfd38e}{svm\+\_\+scheduler\+\_\+process\+\_\+attach\+\_\+\+\_\+raw}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}} process, const unsigned long int parameter)
\begin{DoxyCompactList}\small\item\em This function attaches a process to a scheduler with a raw integer parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} \mbox{\hyperlink{group__schedulers_ga8330c82a562078358fe368765208a57c}{svm\+\_\+scheduler\+\_\+process\+\_\+detach}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}} process, const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}} parameter)
\begin{DoxyCompactList}\small\item\em This function detaches a process from a scheduler with an integer value parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} \mbox{\hyperlink{group__schedulers_gaa8961fa661dcf990c1736c8f88180d84}{svm\+\_\+scheduler\+\_\+process\+\_\+detach\+\_\+\+\_\+raw}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}} process, const unsigned long int parameter)
\begin{DoxyCompactList}\small\item\em This function detaches a process from a scheduler with a raw integer parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void \mbox{\hyperlink{group__schedulers_ga23ac902a4da294fe4ac4f5ce1a30f07c}{svm\+\_\+scheduler\+\_\+notify}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}} parameter)
\begin{DoxyCompactList}\small\item\em This function sends a notification to a scheduler with an integer value parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void \mbox{\hyperlink{group__schedulers_ga620741e4fe3e895ca6ec7200b567756c}{svm\+\_\+scheduler\+\_\+notify\+\_\+\+\_\+raw}} (const void \texorpdfstring{$\ast$}{*}svm, const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} scheduler, const unsigned long int parameter)
\begin{DoxyCompactList}\small\item\em This function sends a notification to a scheduler with a raw integer parameter. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This module contains API functions to handle SVM schedulers. 

A scheduler is a dedicated orchestrator thread controlling process execution.

Schedulers work by reacting to some events they receive from processes.

\begin{DoxyNote}{Note}
Schedulers do not manage the execution sequence of kernels within a process. This specific orchestration is managed by sequencers.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__processes}{SVM processes} 

\doxylink{group__sequencerprocesses}{SVM process sequencer} 
\end{DoxySeeAlso}


\doxysubsection{Function Documentation}
\Hypertarget{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}\label{group__schedulers_gacde65001b1578c9c1f5747ea07f402be} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_get@{svm\_scheduler\_get}}
\index{svm\_scheduler\_get@{svm\_scheduler\_get}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_get()}{svm\_scheduler\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} svm\+\_\+scheduler\+\_\+get (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_ga90c57554e1d1ea2967e133696d0cf2cd}{SVM\+\_\+\+Value\+\_\+\+Plugin\+Entry\+Point}}}]{name }\end{DoxyParamCaption})}



This function retrieves a scheduler from its name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em name} & The scheduler name.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If parameter name is NULL, the default scheduler is returned.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
The scheduler.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
{\em FAILURE} & interruption when the name is not associated to a scheduler. \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_ga881ff52031684224eef308bbe67f7cac}\label{group__schedulers_ga881ff52031684224eef308bbe67f7cac} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_get\_current@{svm\_scheduler\_get\_current}}
\index{svm\_scheduler\_get\_current@{svm\_scheduler\_get\_current}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_get\_current()}{svm\_scheduler\_get\_current()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}} svm\+\_\+scheduler\+\_\+get\+\_\+current (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm }\end{DoxyParamCaption})}



This function retrieves the current scheduler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current scheduler, or a NULL pointer when outside a scheduler context.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_gae3aaf353cf32dccbaae8dba6946dac19}\label{group__schedulers_gae3aaf353cf32dccbaae8dba6946dac19} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_get\_internal@{svm\_scheduler\_get\_internal}}
\index{svm\_scheduler\_get\_internal@{svm\_scheduler\_get\_internal}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_get\_internal()}{svm\_scheduler\_get\_internal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void \texorpdfstring{$\ast$}{*} svm\+\_\+scheduler\+\_\+get\+\_\+internal (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler }\end{DoxyParamCaption})}



This function extracts the internal structure of a scheduler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The scheduler from which the internal structure is extracted.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
When this API function is used on a scheduler, synchronisation mechanisms have to be put in place to protect concurrent access to this structure.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
The internal structure pointer.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_ga23ac902a4da294fe4ac4f5ce1a30f07c}\label{group__schedulers_ga23ac902a4da294fe4ac4f5ce1a30f07c} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_notify@{svm\_scheduler\_notify}}
\index{svm\_scheduler\_notify@{svm\_scheduler\_notify}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_notify()}{svm\_scheduler\_notify()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void svm\+\_\+scheduler\+\_\+notify (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}}}]{parameter }\end{DoxyParamCaption})}



This function sends a notification to a scheduler with an integer value parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The scheduler to notify. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If the scheduler does not support notifications, the notification is silently discarded.
\end{DoxyNote}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_ga620741e4fe3e895ca6ec7200b567756c}\label{group__schedulers_ga620741e4fe3e895ca6ec7200b567756c} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_notify\_\_raw@{svm\_scheduler\_notify\_\_raw}}
\index{svm\_scheduler\_notify\_\_raw@{svm\_scheduler\_notify\_\_raw}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_notify\_\_raw()}{svm\_scheduler\_notify\_\_raw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} void svm\+\_\+scheduler\+\_\+notify\+\_\+\+\_\+raw (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const unsigned long int}]{parameter }\end{DoxyParamCaption})}



This function sends a notification to a scheduler with a raw integer parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The scheduler to notify. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If the scheduler does not support notifications, the notification is silently discarded.
\end{DoxyNote}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_ga4bc540a05b004ebb325e7cdeca135eff}\label{group__schedulers_ga4bc540a05b004ebb325e7cdeca135eff} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_print@{svm\_scheduler\_print}}
\index{svm\_scheduler\_print@{svm\_scheduler\_print}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_print()}{svm\_scheduler\_print()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{struct_s_v_m___string}{SVM\+\_\+\+String}} svm\+\_\+scheduler\+\_\+print (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler }\end{DoxyParamCaption})}



This function returns a string representation of the state of a scheduler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The scheduler from which the status will be extracted.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A \doxylink{struct_s_v_m___string}{SVM\+\_\+\+String} containing a representation of the scheduler state.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
\end{DoxyExceptions}
\Hypertarget{group__schedulers_ga79bb8ab9954164d9a3d03db31afef905}\label{group__schedulers_ga79bb8ab9954164d9a3d03db31afef905} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_process\_attach@{svm\_scheduler\_process\_attach}}
\index{svm\_scheduler\_process\_attach@{svm\_scheduler\_process\_attach}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_process\_attach()}{svm\_scheduler\_process\_attach()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} svm\+\_\+scheduler\+\_\+process\+\_\+attach (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}}}]{process,  }\item[{const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}}}]{parameter }\end{DoxyParamCaption})}



This function attaches a process to a scheduler with an integer value parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The receiving scheduler. \\
\hline
\mbox{\texttt{ in}}  & {\em process} & The process to be attached. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
The parameter is passed to the scheduler plugin callback attaching the process.

\begin{DoxyNote}{Note}
When the attach operation fails on a newly created process and the process variable is kept local, the process remains in the system. This dangling process should be unlocked then terminated.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
TRUE if the process has been attached, FALSE otherwise.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
{\em FAILURE} & interruption when the process is not ours or is not a process locked by ours. \\
\hline
{\em FAILURE} & interruption when the API function is called outside a process.\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\doxylink{group__ownershipprocesses_ga535796c3203a2baa8095c951b9b2c205}{svm\+\_\+process\+\_\+ownership\+\_\+lock} 

\doxylink{group__getprocesses_gab65c1662923bb41bd23071ef15422f68}{svm\+\_\+process\+\_\+get\+\_\+current} 

\doxylink{group__executeprocesses_ga316755bb2ab8f4539f5a7c5240950b49}{svm\+\_\+process\+\_\+terminate} 

\doxylink{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}{svm\+\_\+scheduler\+\_\+get} 
\end{DoxySeeAlso}
\Hypertarget{group__schedulers_ga73f9a96662d921239a8120e9dfbfd38e}\label{group__schedulers_ga73f9a96662d921239a8120e9dfbfd38e} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_process\_attach\_\_raw@{svm\_scheduler\_process\_attach\_\_raw}}
\index{svm\_scheduler\_process\_attach\_\_raw@{svm\_scheduler\_process\_attach\_\_raw}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_process\_attach\_\_raw()}{svm\_scheduler\_process\_attach\_\_raw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} svm\+\_\+scheduler\+\_\+process\+\_\+attach\+\_\+\+\_\+raw (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}}}]{process,  }\item[{const unsigned long int}]{parameter }\end{DoxyParamCaption})}



This function attaches a process to a scheduler with a raw integer parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The receiving scheduler. \\
\hline
\mbox{\texttt{ in}}  & {\em process} & The process to be attached. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
The parameter is passed to the scheduler plugin callback attaching the process.

\begin{DoxyNote}{Note}
When the attach operation fails on a newly created process and the process variable is kept local, the process remains in the system. This dangling process should be unlocked then terminated.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
TRUE if the process has been attached, FALSE otherwise.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
{\em FAILURE} & interruption when the process is not ours or is not a process locked by ours. \\
\hline
{\em FAILURE} & interruption when the API function is called outside a process.\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\doxylink{group__ownershipprocesses_ga535796c3203a2baa8095c951b9b2c205}{svm\+\_\+process\+\_\+ownership\+\_\+lock} 

\doxylink{group__getprocesses_gab65c1662923bb41bd23071ef15422f68}{svm\+\_\+process\+\_\+get\+\_\+current} 

\doxylink{group__executeprocesses_ga316755bb2ab8f4539f5a7c5240950b49}{svm\+\_\+process\+\_\+terminate} 

\doxylink{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}{svm\+\_\+scheduler\+\_\+get} 
\end{DoxySeeAlso}
\Hypertarget{group__schedulers_ga8330c82a562078358fe368765208a57c}\label{group__schedulers_ga8330c82a562078358fe368765208a57c} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_process\_detach@{svm\_scheduler\_process\_detach}}
\index{svm\_scheduler\_process\_detach@{svm\_scheduler\_process\_detach}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_process\_detach()}{svm\_scheduler\_process\_detach()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} svm\+\_\+scheduler\+\_\+process\+\_\+detach (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}}}]{process,  }\item[{const \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}}}]{parameter }\end{DoxyParamCaption})}



This function detaches a process from a scheduler with an integer value parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The giving scheduler. \\
\hline
\mbox{\texttt{ in}}  & {\em process} & The process to be detached. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
The parameter is passed to the scheduler plugin callback detaching the process.

\begin{DoxyNote}{Note}
When the detach operation succeeds on a process and the process variable is kept local, the process remains in the system. This dangling process should be unlocked then terminated.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
TRUE if the process has been detached, FALSE otherwise.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
{\em FAILURE} & interruption when the process is not ours or is not a process locked by ours. \\
\hline
{\em FAILURE} & interruption when the API function is called outside a process.\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\doxylink{group__ownershipprocesses_ga535796c3203a2baa8095c951b9b2c205}{svm\+\_\+process\+\_\+ownership\+\_\+lock} 

\doxylink{group__getprocesses_gab65c1662923bb41bd23071ef15422f68}{svm\+\_\+process\+\_\+get\+\_\+current} 

\doxylink{group__executeprocesses_ga316755bb2ab8f4539f5a7c5240950b49}{svm\+\_\+process\+\_\+terminate} 

\doxylink{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}{svm\+\_\+scheduler\+\_\+get} 
\end{DoxySeeAlso}
\Hypertarget{group__schedulers_gaa8961fa661dcf990c1736c8f88180d84}\label{group__schedulers_gaa8961fa661dcf990c1736c8f88180d84} 
\index{SVM schedulers@{SVM schedulers}!svm\_scheduler\_process\_detach\_\_raw@{svm\_scheduler\_process\_detach\_\_raw}}
\index{svm\_scheduler\_process\_detach\_\_raw@{svm\_scheduler\_process\_detach\_\_raw}!SVM schedulers@{SVM schedulers}}
\doxysubsubsection{\texorpdfstring{svm\_scheduler\_process\_detach\_\_raw()}{svm\_scheduler\_process\_detach\_\_raw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__apimacros_ga0d0dae93534c2ba22499a92705a4e391}{SVM\+\_\+\+FUNCTION}} \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} svm\+\_\+scheduler\+\_\+process\+\_\+detach\+\_\+\+\_\+raw (\begin{DoxyParamCaption}\item[{const void \texorpdfstring{$\ast$}{*}}]{svm,  }\item[{const \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}}]{scheduler,  }\item[{const \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}}}]{process,  }\item[{const unsigned long int}]{parameter }\end{DoxyParamCaption})}



This function detaches a process from a scheduler with a raw integer parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em svm} & The SVM pointer passed as first argument of the callback function. \\
\hline
\mbox{\texttt{ in}}  & {\em scheduler} & The giving scheduler. \\
\hline
\mbox{\texttt{ in}}  & {\em process} & The process to be detached. \\
\hline
\mbox{\texttt{ in}}  & {\em parameter} & A parameter.\\
\hline
\end{DoxyParams}
The parameter is passed to the scheduler plugin callback detaching the process.

\begin{DoxyNote}{Note}
When the detach operation succeeds on a process and the process variable is kept local, the process remains in the system. This dangling process should be unlocked then terminated.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
TRUE if the process has been detached, FALSE otherwise.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em FAILURE} & interruption when a parameter is incorrect. (Please refer to the main description page of this API.) \\
\hline
{\em FAILURE} & interruption when the process is not ours or is not a process locked by ours. \\
\hline
{\em FAILURE} & interruption when the API function is called outside a process.\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\doxylink{group__ownershipprocesses_ga535796c3203a2baa8095c951b9b2c205}{svm\+\_\+process\+\_\+ownership\+\_\+lock} 

\doxylink{group__getprocesses_gab65c1662923bb41bd23071ef15422f68}{svm\+\_\+process\+\_\+get\+\_\+current} 

\doxylink{group__executeprocesses_ga316755bb2ab8f4539f5a7c5240950b49}{svm\+\_\+process\+\_\+terminate} 

\doxylink{group__schedulers_gacde65001b1578c9c1f5747ea07f402be}{svm\+\_\+scheduler\+\_\+get} 
\end{DoxySeeAlso}
