Blame doc/librpm/html/group__rpmsq.html

2ff057
2ff057
<html xmlns="http://www.w3.org/1999/xhtml">
2ff057
<head>
2ff057
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
2ff057
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
2ff057
<meta name="generator" content="Doxygen 1.8.14"/>
2ff057
<meta name="viewport" content="width=device-width, initial-scale=1"/>
2ff057
<title>rpm: Signal Queue API.</title>
2ff057
<link href="tabs.css" rel="stylesheet" type="text/css"/>
2ff057
<script type="text/javascript" src="jquery.js"></script>
2ff057
<script type="text/javascript" src="dynsections.js"></script>
2ff057
<link href="doxygen.css" rel="stylesheet" type="text/css" />
2ff057
</head>
2ff057
<body>
2ff057
2ff057
2ff057
2ff057
 
2ff057
 
2ff057
  
2ff057
   
rpm
2ff057
    4.14.2
2ff057
   
2ff057
  
2ff057
 
2ff057
 
2ff057
2ff057
2ff057
2ff057
2ff057
<script type="text/javascript" src="menudata.js"></script>
2ff057
<script type="text/javascript" src="menu.js"></script>
2ff057
<script type="text/javascript">
2ff057
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
2ff057
$(function() {
2ff057
  initMenu('',false,false,'search.php','Search');
2ff057
});
2ff057
/* @license-end */</script>
2ff057
2ff057
2ff057
2ff057
  
2ff057
Macros |
2ff057
Typedefs |
2ff057
Functions  
2ff057
  
2ff057
Signal Queue API.
2ff057
2ff057
2ff057
2ff057

Signal Queue API.

2ff057
More...

2ff057
2ff057

2ff057
Macros
2ff057
#define RPMSQ_DFL   ((rpmsqAction_t)0)
2ff057
 SIG_DFL, SIG_IGN and SIG_ERR counterparts.  More...
2ff057
 
2ff057
2ff057

2ff057
Typedefs
2ff057
typedef void(* rpmsqAction_t) (int signum, siginfo_t *info, void *context)
2ff057
 Default signal handler prototype.  More...
2ff057
 
2ff057
2ff057

2ff057
Functions
2ff057
int rpmsqIsCaught (int signum)
2ff057
 Test if given signal has been caught (while signals blocked).  More...
2ff057
 
2ff057
int rpmsqActivate (int state)
2ff057
 Activate (or disable) the signal queue.  More...
2ff057
 
2ff057
rpmsqAction_t rpmsqSetAction (int signum, rpmsqAction_t handler)
2ff057
 Set or delete a signal handler for a signal.  More...
2ff057
 
2ff057
int rpmsqBlock (int op)
2ff057
 Block or unblock (almost) all signals.  More...
2ff057
 
2ff057
int rpmsqPoll (void)
2ff057
 Poll for caught signals, executing their handlers.  More...
2ff057
 
2ff057
2ff057

Detailed Description

2ff057

Signal Queue API.

2ff057

Macro Definition Documentation

2ff057
2ff057

◆ RPMSQ_DFL

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          #define RPMSQ_DFL   ((rpmsqAction_t)0)
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

SIG_DFL, SIG_IGN and SIG_ERR counterparts.

2ff057
2ff057

Definition at line 27 of file rpmsq.h.

2ff057
2ff057
2ff057
2ff057

Typedef Documentation

2ff057
2ff057

◆ rpmsqAction_t

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          typedef void(* rpmsqAction_t) (int signum, siginfo_t *info, void *context)
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

Default signal handler prototype.

2ff057
Parameters
2ff057
  
2ff057
    signumsignal number 
2ff057
    info(siginfo_t) signal info 
2ff057
    contextsignal context 
2ff057
  
2ff057
  
2ff057
2ff057
2ff057

Definition at line 22 of file rpmsq.h.

2ff057
2ff057
2ff057
2ff057

Function Documentation

2ff057
2ff057

◆ rpmsqActivate()

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          int rpmsqActivate 
2ff057
          (
2ff057
          int 
2ff057
          state)
2ff057
          
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

Activate (or disable) the signal queue.

2ff057
Parameters
2ff057
  
2ff057
    state1 to enable, 0 to disable 
2ff057
  
2ff057
  
2ff057
2ff057
Returns
0 on success, negative on error
2ff057
2ff057
2ff057
2ff057
2ff057

◆ rpmsqBlock()

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          int rpmsqBlock 
2ff057
          (
2ff057
          int 
2ff057
          op)
2ff057
          
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

Block or unblock (almost) all signals.

2ff057

The operation is "reference counted" so the calls can be nested, and signals are only unblocked when the reference count falls to zero.

Parameters
2ff057
  
2ff057
    opSIG_BLOCK/SIG_UNBLOCK 
2ff057
  
2ff057
  
2ff057
2ff057
Returns
0 on success, -1 on error
2ff057
2ff057
2ff057
2ff057
2ff057

◆ rpmsqIsCaught()

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          int rpmsqIsCaught 
2ff057
          (
2ff057
          int 
2ff057
          signum)
2ff057
          
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

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

2ff057

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

Parameters
2ff057
  
2ff057
    signumsignal to test for 
2ff057
  
2ff057
  
2ff057
2ff057
Returns
1 if caught, 0 if not and -1 on error
2ff057
2ff057
2ff057
2ff057
2ff057

◆ rpmsqPoll()

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          int rpmsqPoll 
2ff057
          (
2ff057
          void 
2ff057
          )
2ff057
          
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

Poll for caught signals, executing their handlers.

2ff057
Returns
no. active signals found
2ff057
2ff057
2ff057
2ff057
2ff057

◆ rpmsqSetAction()

2ff057
2ff057
2ff057
2ff057
      
2ff057
        
2ff057
          rpmsqAction_t rpmsqSetAction 
2ff057
          (
2ff057
          int 
2ff057
          signum, 
2ff057
        
2ff057
        
2ff057
          
2ff057
          
2ff057
          rpmsqAction_t 
2ff057
          handler 
2ff057
        
2ff057
        
2ff057
          
2ff057
          )
2ff057
          
2ff057
        
2ff057
      
2ff057
2ff057
2ff057

Set or delete a signal handler for a signal.

2ff057
Parameters
2ff057
  
2ff057
    signumsignal number 
2ff057
    handlersignal handler or NULL to delete 
2ff057
  
2ff057
  
2ff057
2ff057
Returns
previous handler, RPMSQ_ERR on error
2ff057
2ff057
2ff057
2ff057
2ff057
2ff057

<address class="footer"><small>
2ff057
Generated by  
2ff057
doxygen
2ff057
 1.8.14
2ff057
</small></address>
2ff057
</body>
2ff057
</html>