# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KProcessController Class Reference

Used internally by KProcess. More...

`#include <kprocctrl.h>`

Inheritance diagram for KProcessController:

[legend]
Collaboration diagram for KProcessController:

[legend]
List of all members.

## Public Member Functions

bool | waitForProcessExit (int timeout)
void | unscheduleCheck ()
void | rescheduleCheck ()
int | notifierFd () const
void | addKProcess (KProcess *)
void | removeKProcess (KProcess *)
void | addProcess (int pid)

## Static Public Member Functions

static void | ref ()
static void | deref ()
static void | theSigCHLDHandler (int signal)

## Static Public Attributes

static KProcessController * | theKProcessController

## Friends

class | I_just_love_gcc

## Detailed Description

Used internally by KProcess.

Definition at line 39 of file kprocctrl.h.

## Member Function Documentation

void KProcessController::ref | ( |  | ) | `[static]`

Create an instance if none exists yet.

Called by

See also:
  KApplication::KApplication()

Definition at line 39 of file kprocctrl.cpp.

References theKProcessController.

Referenced by KProcess::KProcess().

void KProcessController::deref | ( |  | ) | `[static]`

Destroy the instance if one exists and it is not referenced any more.

Called by

See also:
  KApplication::~KApplication()

Definition at line 48 of file kprocctrl.cpp.

References theKProcessController.

Referenced by KProcess::~KProcess().

void KProcessController::theSigCHLDHandler | ( | int | signal | ) | `[static]`

| Automatically called upon SIGCHLD. Never call it directly. If your application (or some library it uses) redirects SIGCHLD, the new signal handler (and only it) should call the old handler returned by sigaction(). Definition at line 147 of file kprocctrl.cpp. References fd, and theKProcessController.

bool KProcessController::waitForProcessExit | ( | int | timeout | ) |

Wait for any process to exit and handle their exit without starting an event loop.

This function may cause KProcess to emit any of its signals.

Parameters:

  | timeout | the timeout in seconds. -1 means no timeout.

Returns:
  true if a process exited, false if no process exited within `timeout` seconds.

Since:
  3.1

Definition at line 223 of file kprocctrl.cpp.

void KProcessController::unscheduleCheck | ( |  | ) |

Call this function to defer processing of the data that became available on notifierFd().

Since:
  3.2

Definition at line 170 of file kprocctrl.cpp.

Referenced by KProcess::start(), and KProcess::wait().

void KProcessController::rescheduleCheck | ( |  | ) |

This function must be called at some point after calling unscheduleCheck().

Since:
  3.2

Definition at line 178 of file kprocctrl.cpp.

Referenced by KProcess::start(), and KProcess::wait().

## Member Data Documentation

KProcessController * KProcessController::theKProcessController `[static]`

| Only a single instance of this class is allowed at a time, and this static variable is used to track the one instance. Definition at line 36 of file kprocctrl.cpp. Referenced by deref(), ref(), and theSigCHLDHandler().

The documentation for this class was generated from the following files:

- kprocctrl.h
- kprocctrl.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:56 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003