|
rpm 5.3.7
|
#include <rpmsw.h>

Go to the source code of this file.
Typedefs | |
| typedef struct rpmsig_s * | rpmsig |
| typedef struct rpmsqElem * | rpmsq |
| typedef void(* | rpmsqAction_t )(int signum, void *info, void *context) |
| Default signal handler prototype. | |
Functions | |
| int | rpmsqInsert (void *elem, void *prev) |
| Insert node into from queue. | |
| int | rpmsqRemove (void *elem) |
| Remove node from queue. | |
| void | rpmsqAction (int signum, void *info, void *context) |
| 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. | |
| void * | rpmsqThread (void *(*start)(void *arg), void *arg) |
| Call a function in a thread. | |
| int | rpmsqJoin (void *thread) |
| Wait for thread to terminate. | |
| int | rpmsqThreadEqual (void *thread) |
| Compare thread with current thread. | |
| int | rpmsqExecve (const char **argv) |
| Execute a command, returning its status. | |
Variables | |
| int | _rpmsq_debug |
| rpmsq | rpmsqQueue |
| sigset_t | rpmsqCaught |
Definition in file rpmsq.h.
| typedef void(* rpmsqAction_t)(int signum, void *info, void *context) |
| void rpmsqAction | ( | int | signum, |
| void * | info, | ||
| void * | context | ||
| ) |
Default signal handler.
| signum | signal number |
| info | (siginfo_t) signal info |
| context | signal context |
Definition at line 390 of file rpmsq.c.
References errno, rpmsigTbl, and rpmsig_s::signum.
Referenced by rpmsqEnable().
| int rpmsqEnable | ( | int | signum, |
| rpmsqAction_t | handler | ||
| ) |
Enable or disable a signal handler.
| signum | signal to enable (or disable if negative) |
| handler | sa_sigaction handler (or NULL to use rpmsqHandler()) |
Definition at line 439 of file rpmsq.c.
References ADD_REF, DO_LOCK, DO_UNLOCK, ME, rpmsigTbl, rpmsqAction(), rpmsig_s::signum, and SUB_REF.
Referenced by rpmdbClose(), rpmdbOpenDatabase(), rpmsqExecve(), rpmsqFork(), and rpmsqWaitUnregister().
| int rpmsqExecve | ( | const char ** | argv | ) |
Execute a command, returning its status.
Definition at line 728 of file rpmsq.c.
References ADD_REF, alloca(), CLEANUP_HANDLER, CLEANUP_RESET, DO_LOCK, DO_UNLOCK, environ, errno, INIT_LOCK, rpmsigTbl_sigchld, rpmsigTbl_sigint, rpmsigTbl_sigquit, rpmsqEnable(), and SUB_REF.
| pid_t rpmsqFork | ( | rpmsq | sq | ) |
Fork a child process.
| sq | scriptlet queue element |
Definition at line 495 of file rpmsq.c.
References ME, rpmsqEnable(), and rpmsqInsert().
Referenced by runScript().
| int rpmsqInsert | ( | void * | elem, |
| void * | prev | ||
| ) |
Insert node into from queue.
| elem | node to link |
| prev | previous node from queue |
Definition at line 291 of file rpmsq.c.
References ME.
Referenced by rpmsqFork().
| int rpmsqJoin | ( | void * | thread | ) |
Wait for thread to terminate.
| thread | thread |
Definition at line 671 of file rpmsq.c.
Referenced by fsmNext(), iosmNext(), and rpmpsmNext().
| int rpmsqRemove | ( | void * | elem | ) |
Remove node from queue.
| elem | node to link |
Definition at line 320 of file rpmsq.c.
References ME.
Referenced by rpmsqWaitUnregister().
| void* rpmsqThread | ( | void *(*)(void *arg) | start, |
| void * | arg | ||
| ) |
Call a function in a thread.
| start | function |
| arg | function argument |
Definition at line 656 of file rpmsq.c.
Referenced by fsmNext(), iosmNext(), and rpmpsmNext().
| int rpmsqThreadEqual | ( | void * | thread | ) |
| pid_t rpmsqWait | ( | rpmsq | sq | ) |
Wait for child process to be reaped.
| sq | scriptlet queue element |
Definition at line 624 of file rpmsq.c.
References ME, and rpmsqWaitUnregister().
Referenced by psmWait().
| int _rpmsq_debug |
| sigset_t rpmsqCaught |
1.7.3