02-13-2007
signals related question
Hi all,
Just a little question relative to signals.
I know that if an application is in the sleep state, When a signal is catched, it will be processed by the handler. But what happens if it's processing something? Does the processing stops??
The following code should illustrate this case
void handleSignal(int signal){
while(my_object->getWorkingState==1)
sleep(1);
printf("anything");
}
int main(...){
....
signal(SIGUSR1,handleSignal);
while(1){
my_object->process();
sleep();
}
....
}
Thanks for the attention.
Best regards,
Ernesto
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
well, I was suggested to remove the contents of the cache as i get out of the browser netscape from the .netscape folder. is that really necessary? if so what are the rest to be done?
can anybody please tell me?:rolleyes: (8 Replies)
Discussion started by: sskb
8 Replies
2. Programming
:) Hello, i have been given the following code to help me learn how to use signals, it won't compile. The problem maybe because this was written for use in Unix and i am trying to compile in Linux.
The error i get says that SIGPIPE and SIG_IGN are undeclared.
I think that these are defined... (2 Replies)
Discussion started by: theultimatechuf
2 Replies
3. UNIX for Advanced & Expert Users
Hello,
I have created following alias in csh
lab 'rlogin -l user23 complab23'
but problem is complab23 does not allow automatic login by checking .rhosts file. So after typing lab on command line I have to type complicate password and if wrong password is typed thrice then account gets... (4 Replies)
Discussion started by: neerajrathi2
4 Replies
4. Shell Programming and Scripting
Wasn't really sure where to put this, since I'm using C in UNIX, but I am making my own shell... 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... (1 Reply)
Discussion started by: blind melon
1 Replies
5. Shell Programming and Scripting
Whats a signal 0. An exhaustive search on signals landed me nowhere.
Is it possible to do something like this trap "echo $var" 0.
If so what signal does this trap catch ? (2 Replies)
Discussion started by: kinny
2 Replies
6. Shell Programming and Scripting
awk "/^<Mar 31, 2012 : /,0" /app/blah.log
can someone please help me figure out why the above command isn't pulling anything out from the log?
basically, i want it to pull out all records, from the very first line that starts with the date "Mar 31, 2012" and that also has a time immediately... (4 Replies)
Discussion started by: SkySmart
4 Replies
7. Shell Programming and Scripting
hi,
iam perl begginer,i have written the program
#!/usr/bin/perl
#use warnings;
use strict;
print "Enter the name:","\n";
my $name=<STDIN>;
my %hash=(siva => "9902774481",
dev => "9916391244",
venky => "9440506760",
manohar => "9440232695"
);
print "$name no is:... (5 Replies)
Discussion started by: siva.hardwork
5 Replies
8. UNIX for Dummies Questions & Answers
If I run a script called 'abc.sh' and then execute the following :
ps -ef | grep 'abc.sh'
I always get two rows of output, one for the executing script, and the other for the grep command that I have triggered after the pipe.
Questions: Why does the second row turn up in the results. My... (10 Replies)
Discussion started by: jawsnnn
10 Replies
9. Shell Programming and Scripting
awk -F ";" 'FNR==NR{a=$1;next} ($2 in a)' server.list datafile | while read line
do
echo ${line}
done
when i run the above, i get this:
1 SERVICE NOTIFICATION: nagiosadmin skysmart-01.sky.net ....
instead of:
SERVICE NOTIFICATION: nagiosadmin skysmart-01.sky.net ....
can... (4 Replies)
Discussion started by: SkySmart
4 Replies
10. UNIX for Dummies Questions & Answers
We have huge file with control A as delimiter. Somehow one record is corrupted. This time i figured it out using ETL graph. If future , how to print only bad record.
Example Correct record:... (2 Replies)
Discussion started by: srikanth38
2 Replies
LEARN ABOUT LINUX
rt_sigsuspend
SIGSUSPEND(2) Linux Programmer's Manual SIGSUSPEND(2)
NAME
sigsuspend - wait for a signal
SYNOPSIS
#include <signal.h>
int sigsuspend(const sigset_t *mask);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
sigsuspend(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION
sigsuspend() temporarily replaces the signal mask of the calling process with the mask given by mask and then suspends the process until
delivery of a signal whose action is to invoke a signal handler or to terminate a process.
If the signal terminates the process, then sigsuspend() does not return. If the signal is caught, then sigsuspend() returns after the sig-
nal handler returns, and the signal mask is restored to the state before the call to sigsuspend().
It is not possible to block SIGKILL or SIGSTOP; specifying these signals in mask, has no effect on the process's signal mask.
RETURN VALUE
sigsuspend() always returns -1, normally with the error EINTR.
ERRORS
EFAULT mask points to memory which is not a valid part of the process address space.
EINTR The call was interrupted by a signal.
CONFORMING TO
POSIX.1-2001.
NOTES
Normally, sigsuspend() is used in conjunction with sigprocmask(2) in order to prevent delivery of a signal during the execution of a criti-
cal code section. The caller first blocks the signals with sigprocmask(2). When the critical code has completed, the caller then waits
for the signals by calling sigsuspend() with the signal mask that was returned by sigprocmask(2) (in the oldset argument).
See sigsetops(3) for details on manipulating signal sets.
SEE ALSO
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3), signal(7)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-08-29 SIGSUSPEND(2)