The Assimilation Project  based on Assimilation version 1.1.7.1474836767
childprocess.h File Reference

Implements Child Process class. More...

#include <projectcommon.h>
#include <configcontext.h>
#include <assimobj.h>
#include <logsourcefd.h>
Include dependency graph for childprocess.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _ChildProcess
 
enum  HowDied {
  NOT_EXITED = 0, EXITED_ZERO = 1, EXITED_NONZERO = 2, EXITED_SIGNAL = 3,
  EXITED_TIMEOUT = 4, EXITED_HUNG = 5, EXITED_INVAL = 6
}
 
enum  ChildErrLogMode { CHILD_NOLOG = 0, CHILD_LOGSIGNAL = 1, CHILD_LOGERRS = 2, CHILD_LOGALL = 3 }
 
typedef struct _ChildProcess ChildProcess
 
WINEXPORT ChildProcesschildprocess_new (gsize cpsize, char **argv, const char **envp, ConfigContext *envmod, const char *curdir, void(*notify)(ChildProcess *, enum HowDied, int rc, int signal, gboolean core_dumped), gboolean save_stdout, const char *logdomain, const char *logprefix, GLogLevelFlags loglevel, guint32 timeout_seconds, gpointer user_data, enum ChildErrLogMode errlogmode, const char *loggingname)
 ChildProcess class. constructor. More...
 

Detailed Description

Implements Child Process class.

This class implements child processes with timeouts, logging, and so on.

This file is part of the Assimilation Project.

Author
Alan Robertson alanr.nosp@m.@uni.nosp@m.x.sh - Copyright © 2013 - Assimilation Systems Limited
The Assimilation software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Assimilation software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the Assimilation Project software. If not, see http://www.gnu.org/licenses/

Definition in file childprocess.h.

Enumeration Type Documentation

Enumerator
CHILD_NOLOG 

Don't log anything when it quits.

CHILD_LOGSIGNAL 

Log only death by signal or timeout.

CHILD_LOGERRS 

Log signal, timeouts, or non-zero exits.

CHILD_LOGALL 

Log all exits - normal or abnormal.

Definition at line 45 of file childprocess.h.

enum HowDied
Enumerator
NOT_EXITED 

Still running - should never be returned...

EXITED_ZERO 

Exited with zero return code.

EXITED_NONZERO 

Exited with nonzero return code.

EXITED_SIGNAL 

Exited with a signal.

EXITED_TIMEOUT 

Timed out and was killed.

EXITED_HUNG 

Timed out and would not die.

EXITED_INVAL 

Was not attempted - invalid request.

Definition at line 35 of file childprocess.h.