diff options
Diffstat (limited to 'dviware/dvi2bitmap/doc_libdvi2bitmap/latex/namespacePipeStreamSignalHandling.tex')
-rw-r--r-- | dviware/dvi2bitmap/doc_libdvi2bitmap/latex/namespacePipeStreamSignalHandling.tex | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/dviware/dvi2bitmap/doc_libdvi2bitmap/latex/namespacePipeStreamSignalHandling.tex b/dviware/dvi2bitmap/doc_libdvi2bitmap/latex/namespacePipeStreamSignalHandling.tex new file mode 100644 index 0000000000..220e3fda0d --- /dev/null +++ b/dviware/dvi2bitmap/doc_libdvi2bitmap/latex/namespacePipeStreamSignalHandling.tex @@ -0,0 +1,147 @@ +\hypertarget{namespacePipeStreamSignalHandling}{\section{Pipe\-Stream\-Signal\-Handling Namespace Reference} +\label{namespacePipeStreamSignalHandling}\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}} +} + + +Takes care of the signal handling necessary for the functions in the \hyperlink{classPipeStream}{Pipe\-Stream} class. + + +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +struct \hyperlink{structPipeStreamSignalHandling_1_1process__status}{process\-\_\-status} +\end{DoxyCompactItemize} +\subsection*{Functions} +\begin{DoxyCompactItemize} +\item +bool \hyperlink{namespacePipeStreamSignalHandling_a14fc75f2dfb1f9f846dd02eb1133300a}{got\-\_\-status} (pid\-\_\-t pid, int $\ast$status) +\begin{DoxyCompactList}\small\item\em Checks to see if the given process has exited. \end{DoxyCompactList}\item +void \hyperlink{namespacePipeStreamSignalHandling_a5f702cc234291a2e4420a72f11e46168}{expect\-Another} () throw (\-Input\-Byte\-Stream\-Error) +\begin{DoxyCompactList}\small\item\em Note that we expect to start another child. \end{DoxyCompactList}\item +void \hyperlink{namespacePipeStreamSignalHandling_a17dd41fc8d2e35a6d36cc70aec0e436e}{childcatcher} (int) +\item +void \hyperlink{namespacePipeStreamSignalHandling_acede41909df52a0a5cbb2eb3892a728e}{alarmcatcher} (int) +\end{DoxyCompactItemize} +\subsection*{Variables} +\begin{DoxyCompactItemize} +\item +struct \hyperlink{structPipeStreamSignalHandling_1_1process__status}{process\-\_\-status} $\ast$ \hyperlink{namespacePipeStreamSignalHandling_ae08548945a242c3110affb7c3ffa26f8}{procs} = 0 +\item +sig\-\_\-atomic\-\_\-t \hyperlink{namespacePipeStreamSignalHandling_a087f29cce50ef65417b09901d6e217ea}{nprocs} +\item +sig\-\_\-atomic\-\_\-t \hyperlink{namespacePipeStreamSignalHandling_ad3b491952ebd58029bc34766eaa972e7}{nprocs\-\_\-used} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +Takes care of the signal handling necessary for the functions in the \hyperlink{classPipeStream}{Pipe\-Stream} class. If your application for whatever reason has to catch {\ttfamily S\-I\-G\-C\-H\-L\-D}, then to avoid interference between these, you should do so using functions \hyperlink{namespacePipeStreamSignalHandling_a5f702cc234291a2e4420a72f11e46168}{expect\-Another} and \hyperlink{namespacePipeStreamSignalHandling_a14fc75f2dfb1f9f846dd02eb1133300a}{got\-\_\-status}. These two functions are the only `public' A\-P\-I in this namespace. + +\subsection{Function Documentation} +\hypertarget{namespacePipeStreamSignalHandling_acede41909df52a0a5cbb2eb3892a728e}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!alarmcatcher@{alarmcatcher}} +\index{alarmcatcher@{alarmcatcher}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{alarmcatcher}]{\setlength{\rightskip}{0pt plus 5cm}void Pipe\-Stream\-Signal\-Handling\-::alarmcatcher ( +\begin{DoxyParamCaption} +\item[{int}]{signum} +\end{DoxyParamCaption} +)}}\label{namespacePipeStreamSignalHandling_acede41909df52a0a5cbb2eb3892a728e} + + +Referenced by expect\-Another(). + +\hypertarget{namespacePipeStreamSignalHandling_a17dd41fc8d2e35a6d36cc70aec0e436e}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!childcatcher@{childcatcher}} +\index{childcatcher@{childcatcher}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{childcatcher}]{\setlength{\rightskip}{0pt plus 5cm}void Pipe\-Stream\-Signal\-Handling\-::childcatcher ( +\begin{DoxyParamCaption} +\item[{int}]{signum} +\end{DoxyParamCaption} +)}}\label{namespacePipeStreamSignalHandling_a17dd41fc8d2e35a6d36cc70aec0e436e} + + +References nprocs, nprocs\-\_\-used, Pipe\-Stream\-Signal\-Handling\-::process\-\_\-status\-::pid, procs, and Pipe\-Stream\-Signal\-Handling\-::process\-\_\-status\-::status. + + + +Referenced by expect\-Another(). + +\hypertarget{namespacePipeStreamSignalHandling_a5f702cc234291a2e4420a72f11e46168}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!expect\-Another@{expect\-Another}} +\index{expect\-Another@{expect\-Another}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{expect\-Another}]{\setlength{\rightskip}{0pt plus 5cm}void Pipe\-Stream\-Signal\-Handling\-::expect\-Another ( +\begin{DoxyParamCaption} +{} +\end{DoxyParamCaption} +) throw {\bf Input\-Byte\-Stream\-Error}) }}\label{namespacePipeStreamSignalHandling_a5f702cc234291a2e4420a72f11e46168} + + +Note that we expect to start another child. + +This function must be called before doing each {\ttfamily fork()}, as it does the initialisation of the structures used by this set of functions, and subsequently ensures that there is enough space in the list of statuses to hold another one. + + +\begin{DoxyExceptions}{Exceptions} +{\em \hyperlink{classInputByteStreamError}{Input\-Byte\-Stream\-Error}} & if we can't do this for some reason \\ +\hline +\end{DoxyExceptions} + + +References alarmcatcher(), childcatcher(), Input\-Byte\-Stream\-::get\-Verbosity(), normal, nprocs, nprocs\-\_\-used, and procs. + + + +Referenced by Pipe\-Stream\-::\-Pipe\-Stream(). + +\hypertarget{namespacePipeStreamSignalHandling_a14fc75f2dfb1f9f846dd02eb1133300a}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!got\-\_\-status@{got\-\_\-status}} +\index{got\-\_\-status@{got\-\_\-status}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{got\-\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}bool Pipe\-Stream\-Signal\-Handling\-::got\-\_\-status ( +\begin{DoxyParamCaption} +\item[{pid\-\_\-t}]{pid, } +\item[{int $\ast$}]{status} +\end{DoxyParamCaption} +)}}\label{namespacePipeStreamSignalHandling_a14fc75f2dfb1f9f846dd02eb1133300a} + + +Checks to see if the given process has exited. + +If there's an entry for this P\-I\-D in the list, then put the corresponding status in the {\ttfamily status} parameter, and return true. If not, return false; {\ttfamily $\ast$status} is then unchanged. + + +\begin{DoxyParams}{Parameters} +{\em pid} & the P\-I\-D to check \\ +\hline +{\em status} & a pointer to the status to be returned \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +true if the status was in fact available, and is now in {\ttfamily $\ast$status}; false otherwise +\end{DoxyReturn} + + +References Pipe\-Stream\-Signal\-Handling\-::process\-\_\-status\-::clear(), Input\-Byte\-Stream\-::get\-Verbosity(), normal, nprocs, nprocs\-\_\-used, procs, and Pipe\-Stream\-Signal\-Handling\-::process\-\_\-status\-::status. + + + +Referenced by Pipe\-Stream\-::close(). + + + +\subsection{Variable Documentation} +\hypertarget{namespacePipeStreamSignalHandling_a087f29cce50ef65417b09901d6e217ea}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!nprocs@{nprocs}} +\index{nprocs@{nprocs}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{nprocs}]{\setlength{\rightskip}{0pt plus 5cm}sig\-\_\-atomic\-\_\-t Pipe\-Stream\-Signal\-Handling\-::nprocs}}\label{namespacePipeStreamSignalHandling_a087f29cce50ef65417b09901d6e217ea} + + +Referenced by childcatcher(), expect\-Another(), and got\-\_\-status(). + +\hypertarget{namespacePipeStreamSignalHandling_ad3b491952ebd58029bc34766eaa972e7}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!nprocs\-\_\-used@{nprocs\-\_\-used}} +\index{nprocs\-\_\-used@{nprocs\-\_\-used}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{nprocs\-\_\-used}]{\setlength{\rightskip}{0pt plus 5cm}sig\-\_\-atomic\-\_\-t Pipe\-Stream\-Signal\-Handling\-::nprocs\-\_\-used}}\label{namespacePipeStreamSignalHandling_ad3b491952ebd58029bc34766eaa972e7} + + +Referenced by childcatcher(), expect\-Another(), and got\-\_\-status(). + +\hypertarget{namespacePipeStreamSignalHandling_ae08548945a242c3110affb7c3ffa26f8}{\index{Pipe\-Stream\-Signal\-Handling@{Pipe\-Stream\-Signal\-Handling}!procs@{procs}} +\index{procs@{procs}!PipeStreamSignalHandling@{Pipe\-Stream\-Signal\-Handling}} +\subsubsection[{procs}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf process\-\_\-status}$\ast$ Pipe\-Stream\-Signal\-Handling\-::procs = 0}}\label{namespacePipeStreamSignalHandling_ae08548945a242c3110affb7c3ffa26f8} + + +Referenced by childcatcher(), expect\-Another(), and got\-\_\-status(). + |