rpm 4.9.1
Typedefs | Functions
Signal Queue API.

Typedefs

typedef struct rpmsig_s * rpmsig
typedef struct rpmsqElem * rpmsq
typedef void(* rpmsqAction_t )(int signum)
 Default signal handler prototype.

Functions

int rpmsqIsCaught (int signum)
 Test if given signal has been caught (while signals blocked).
void rpmsqAction (int signum)
 Default signal handler.
int rpmsqEnable (int signum, rpmsqAction_t handler)
 Enable or disable a signal handler.
pid_t rpmsqFork (rpmsq sq)
 Fork a child process.
pid_t rpmsqWait (rpmsq sq)
 Wait for child process to be reaped.

Typedef Documentation

typedef struct rpmsig_s* rpmsig

Definition at line 21 of file rpmsq.h.

typedef struct rpmsqElem* rpmsq

Definition at line 25 of file rpmsq.h.

typedef void(* rpmsqAction_t)(int signum)

Default signal handler prototype.

Parameters:
signumsignal number
info(siginfo_t) signal info
contextsignal context

Definition at line 36 of file rpmsq.h.


Function Documentation

void rpmsqAction ( int  signum)

Default signal handler.

Parameters:
signumsignal number
info(siginfo_t) signal info
contextsignal context
int rpmsqEnable ( int  signum,
rpmsqAction_t  handler 
)

Enable or disable a signal handler.

Parameters:
signumsignal to enable (or disable if negative)
handlersa_sigaction handler (or NULL to use rpmsqHandler())
Returns:
no. of refs, -1 on error
pid_t rpmsqFork ( rpmsq  sq)

Fork a child process.

Parameters:
sqscriptlet queue element
Returns:
fork(2) pid
int rpmsqIsCaught ( int  signum)

Test if given signal has been caught (while signals blocked).

Similar to sigismember() but operates on internal signal queue.

Parameters:
signumsignal to test for
Returns:
1 if caught, 0 if not and -1 on error
pid_t rpmsqWait ( rpmsq  sq)

Wait for child process to be reaped.

Parameters:
sqscriptlet queue element
Returns:
reaped child pid