#include <rpmsw.h>Include dependency graph for rpmsq.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | rpmsqElem |
| SIGCHLD queue element. More... | |
Typedefs | |
| typedef rpmsig_s * | rpmsig |
| typedef 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.
|
|
|
|
|
|
|
|
Default signal handler prototype.
|
|
||||||||||||||||
|
Default signal handler.
Definition at line 286 of file rpmsq.c. References rpmsqElem::child, errno, rpmsqElem::pipes, rpmsqElem::q_forw, rpmsqElem::reaped, save, rpmsig_s::signum, and rpmsqElem::status. Referenced by rpmsqEnable(). |
|
||||||||||||
|
Enable or disable a signal handler.
Definition at line 335 of file rpmsq.c. References ADD_REF, DO_LOCK, DO_UNLOCK, rpmsqElem::id, ME, rpmsqAction(), and SUB_REF. Referenced by rpmdbClose(), rpmdbOpenDatabase(), rpmsqExecve(), rpmsqFork(), rpmsqWaitUnregister(), and sigchld_cancel(). |
|
|
Execute a command, returning its status.
Definition at line 609 of file rpmsq.c. References ADD_REF, alloca(), CLEANUP_HANDLER, CLEANUP_RESET, DO_LOCK, DO_UNLOCK, errno, INIT_LOCK, rpmsigTbl_sigchld, rpmsigTbl_sigint, rpmsigTbl_sigquit, rpmsqEnable(), sigchld_cancel(), and SUB_REF. |
|
|
Fork a child process.
Definition at line 390 of file rpmsq.c. References rpmsqElem::child, ME, rpmsqElem::pipes, rpmsqElem::reaper, rpmsqEnable(), and rpmsqInsert(). Referenced by runScript(). |
|
||||||||||||
|
Insert node into from queue.
Definition at line 199 of file rpmsq.c. References rpmsqElem::child, rpmsqElem::id, ME, rpmsqElem::pipes, rpmsqElem::reaped, rpmsqElem::reaper, and rpmsqElem::status. Referenced by rpmsqFork(). |
|
|
Wait for thread to terminate.
Definition at line 565 of file rpmsq.c. Referenced by fsmNext(), and rpmpsmNext(). |
|
|
Remove node from queue.
Definition at line 228 of file rpmsq.c. References rpmsqElem::child, rpmsqElem::id, ME, rpmsqElem::pipes, rpmsqElem::reaped, and rpmsqElem::status. Referenced by rpmsqWaitUnregister(). |
|
||||||||||||
|
Call a function in a thread.
Definition at line 556 of file rpmsq.c. Referenced by fsmNext(), and rpmpsmNext(). |
|
|
Compare thread with current thread.
|
|
|
Wait for child process to be reaped.
Definition at line 524 of file rpmsq.c. References rpmsqElem::child, ME, rpmsqElem::reaped, rpmsqElem::reaper, rpmsqWaitUnregister(), and rpmsqElem::status. Referenced by psmWait(). |
|
|
|
|
|
|
|
|
|
1.4.4