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
sigemptyset(3)						     Library Functions Manual						    sigemptyset(3)

NAME
sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - Creates and manipulates signal masks LIBRARY
Standard C Library (libc.so, libc.a) SYNOPSIS
#include <signal.h> int sigemptyset ( sigset_t *set); int sigfillset ( sigset_t *set); int sigaddset ( sigset_t *set, int sig_number ); int sigdelset ( sigset_t *set, int sig_number ); int sigismember ( sigset_t *set, int sig_number ); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: sigemptyset(), sigfillset(), sigaddset(), sigdelset() sigismember(): XPG4, XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Specifies the signal set. Specifies the individual signal. DESCRIPTION
The sigemptyset(), sigfillset(), sigaddset(), sigdelset(), and sigismember() functions manipulate sets of signals. These functions operate on data objects that can be addressed by the application, not on any set of signals known to the system, such as the set blocked from delivery to a process or the set pending for a process. The sigemptyset() function initializes the signal set pointed to by the set parameter such that all signals are excluded. The sigfillset() function initializes the signal set pointed to by the set parameter such that all signals are included. A call to either the sigfillset() or sigemptyset() function must be made at least once for each object of the type sigset_t prior to any other use of that object. The sigaddset() and sigdelset() functions respectively add and delete the individual signal specified by the sig_number parameter from the signal set specified by the set parameter. The sigismember() function tests whether the sig_number parameter is a member of the signal set pointed to by the set parameter. EXAMPLES
To generate and use a signal mask that blocks only the SIGINT signal from delivery, enter: #include <signal.h> int return_value; sigset_t newset; . . . sigemptyset(&newset); sigaddset(&newset, SIGINT); return_value = sigprocmask (SIG_SETMASK, &newset, NULL); RETURN VALUES
Upon successful completion, the sigismember() function returns a value of 1 if the specified signal is a member of the specified set, or a value of 0 (zero) if it is not. Upon successful completion, the other functions return a value of 0. For all the preceding functions, if an error is detected, a value of -1 is returned and errno is set to indicate the error. ERRORS
The sigfillset(), sigdelset(), sigismember(), and sigaddset() functions set errno to the specified values for the following conditions: The value of the sig_number parameter is not a valid signal number. RELATED INFORMATION
Functions: sigaction(2), sigprocmask(2), sigsuspend(2), sigvec(2) Files: signal(4) Standards: standards(5) delim off sigemptyset(3)