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..
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
(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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT MINIX
sigset
SIGSET(3) Library Functions Manual SIGSET(3)NAME
sigset, sigaddset, sigdelset, sigemptyset, sigfillset, sigismember - manipulate signal sets
SYNOPSIS
#include <signal.h>
int sigaddset(sigset_t *set, int sig)
int sigdelset(sigset_t *set, int sig)
int sigemptyset(sigset_t *set)
int sigfillset(sigset_t *set)
int sigismember(const sigset_t *set, int sig)
DESCRIPTION
The system calls that handle signals, such as sigaction(2) and sigprocmask(2) use sets of signals to keep a process from being interrupted
by those signals while executing a signal handler or a critical code segment. These signal sets are manipulated by the following func-
tions:
int sigaddset(sigset_t *set, int sig)
Add signal sig to the signal set referenced by set.
int sigdelset(sigset_t *set, int sig)
Remove signal sig from the signal set referenced by set.
int sigemptyset(sigset_t *set)
Initialize the signal set referenced by set to an empty set.
int sigfillset(sigset_t *set)
Initialize the signal set referenced by set to an full set, i.e. all signals are in the set.
int sigismember(const sigset_t *set, int sig)
Return 1 if the signal sig is present in the set referenced by set, 0 otherwise.
SEE ALSO sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2).
DIAGNOSTICS
All functions except sigismember return 0 on success. Sigismember returns 0 or 1 on success. They return -1 with error code EINVAL for an
invalid signal number. (They do not use EFAULT for a bad set address, but will simply cause a segmentation violation.)
AUTHOR
Kees J. Bot (kjb@cs.vu.nl)
SIGSET(3)