Blocking signals


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Blocking signals
# 1  
Old 10-23-2010
Blocking signals

I know how to add signal to a set. But what if I want to add 2 or 3 signals to the set.
I know I can use sigaddset (&set,SIGBUS)....but what if I want to add SIGBUS and SIGALRM at once. Do i have to do it like this..
Code:
sigaddset (&set,SIGBUS);
sigaddset (&set,SIGALRM);

Is there another way to do this?. Also is it possible to individually unblock signals in the set. I know that by calling
[code]
sigprocmask(SIG_UNBLOCK......) you can unblock all signals that are block in the set.But what if you want to only unblock one signal in the set.

Last edited by joker40; 10-24-2010 at 12:32 PM.. Reason: adding something
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Which are blocking and non-blocking api's in sockets in C ?

among the below socket programming api's, please let me know which are blocking and non-blocking. socket accept bind listen write read close (2 Replies)
Discussion started by: VSSajjan
2 Replies

2. Shell Programming and Scripting

Help with trap and signals

I am having issues with trap not working inside a script. I am currently trying this on a Knoppix system V 5.1. What I would like to happen is when I press control c, a message gets echoed and the script is ended. For example: #! /bin/bash trap "echo CTRL c was pressed ; break" SIGINT... (11 Replies)
Discussion started by: Basherrr
11 Replies

3. UNIX for Advanced & Expert Users

Help with Signals

Hi All, The problem statement is as below: Problem: A process (exe) is getting executed in background. The output of this process is getting logged in a file. After successfully running for some time the process gets terminated. In the log file following is present: ^M[7m Interrupt ^M[27m... (8 Replies)
Discussion started by: Praty.27
8 Replies

4. UNIX for Advanced & Expert Users

Ignored signals & blocking system calls

If I explicity ignore a signal (for example, SIGALRM), and this signal is generated during a blocking system call (for example, a recvfrom() ), what happens to the system call? Does it abort, or does it remain blocked until its end? (2 Replies)
Discussion started by: hurricane
2 Replies

5. UNIX for Dummies Questions & Answers

pending signals

I was wondering about following. If I have set of 3 signals. And they are all blocked.Now at some point in the program the set is unblocked. Which signal will be delivered first.This is my set....SIGTSTP,SIGQUIT,SIGINT.When I added them in the set and unblock them I did it in following order... ... (1 Reply)
Discussion started by: joker40
1 Replies

6. UNIX for Dummies Questions & Answers

perror with signals

I have following problem with this code.. First time trough the main loop..... perror gives ....blocked signal:success(all other times gives illlegal seek) Should every time trought the main loop be success?? And the perror otside of main loop...didn't change mask:success That line of code... (2 Replies)
Discussion started by: joker40
2 Replies

7. UNIX for Dummies Questions & Answers

threads and signals

can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (0 Replies)
Discussion started by: moe_7
0 Replies

8. Programming

Using Signals

How can use signals in a C program If i want a child program to signal it's parent program that it(child) program has completed the task that it was assigned.:confused: (2 Replies)
Discussion started by: kapilv
2 Replies

9. UNIX for Dummies Questions & Answers

Signals...

(posted this in the scripting forum as well, but figured it should go here) So, what's going on is this: For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground process running, let's... (0 Replies)
Discussion started by: blind melon
0 Replies

10. Programming

Signals In HP-UX

does the way of handling, interrupting signals in HP-UX same as that of solaris. If there is difference than what it is.?:confused: (1 Reply)
Discussion started by: kapilv
1 Replies
Login or Register to Ask a Question
PCNTL_SIGWAITINFO(3)							 1						      PCNTL_SIGWAITINFO(3)

pcntl_sigwaitinfo - Waits for signals

SYNOPSIS
int pcntl_sigwaitinfo (array $set, [array &$siginfo]) DESCRIPTION
The pcntl_sigwaitinfo(3) function suspends execution of the calling script until one of the signals given in $set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask(3)), pcntl_sigwaitinfo(3) will return immediately. PARAMETERS
o $set - Array of signals to wait for. o $siginfo - The $siginfo parameter is set to an array containing informations about the signal. The following elements are set for all sig- nals: osigno: Signal number oerrno: An error number ocode: Signal code The following elements may be set for the SIGCHLD signal: ostatus: Exit value or signal outime: User time consumed ostime: System time consumed opid: Sending process ID ouid: Real user ID of sending process The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals: oaddr: Memory location which caused fault The following element may be set for the SIGPOLL signal: oband: Band event ofd: File descriptor number RETURN VALUES
On success, pcntl_sigwaitinfo(3) returns a signal number. EXAMPLES
Example #1 pcntl_sigwaitinfo(3) example <?php echo "Blocking SIGHUP signal "; pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP)); echo "Sending SIGHUP to self "; posix_kill(posix_getpid(), SIGHUP); echo "Waiting for signals "; $info = array(); pcntl_sigwaitinfo(array(SIGHUP), $info); ?> SEE ALSO
pcntl_sigprocmask(3), pcntl_sigtimedwait(3). PHP Documentation Group PCNTL_SIGWAITINFO(3)