11-28-2007
Quote:
Originally Posted by
matrixmadhan
In short, can it be said signal() behavior is undefined - or am I being rude in saying that ?
"Undefined" is a little harsh. It's not like signal() is allowed to whistle dixie or anything. I would use the term "unpredictable". A standard signal() has several attributes each of which must be one of two possible behaviors. I thought that I explained "why":
Quote:
Resetting the handler is dumb. That is the original behavior, but during the window between the automatic reset and the reinstallation of the handler, a signal can be lost. So BSD changed signal().
6 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Any idea to repeat an action to all the lines in vi...
suppose i want to delete the first word from all the lines in VI .. how would i do it ?
in general i am also looking for a way to apply a action to all the lines in VI . (6 Replies)
Discussion started by: myelvis
6 Replies
2. Shell Programming and Scripting
Hi..
When i refered the script /etc/rc.sysinit...
i found the "action commands" like
But this is not working in my shells..
the following error is coming...
Please anybody help
Thanks in advance
esham (5 Replies)
Discussion started by: esham
5 Replies
3. Shell Programming and Scripting
in /etc/init.d/networking of an ubuntu computer, I found this code:
if ifdown -a --exclude=lo; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
Shouldn't it be replace by
ifdown -a --exclude=lo
... (0 Replies)
Discussion started by: raphinou
0 Replies
4. Shell Programming and Scripting
I am writing a shell script that takes at least 2 arguments. The first is an octal representation of file permissions, the second is a command that is executed on all the files found with that permission.
#!/bin/sh
find . -perm $1 -exec $2 $3 $4 {} \;
invoked: ./script.sh 543 ls -la
what... (3 Replies)
Discussion started by: computethis
3 Replies
5. AIX
Hello,
One of our customer is getting segmentation fault when he runs his shell script which invokes our executable on AIX 6.1.
On AIX 5.3, there were no issues.
Here is the truss output.
811242: __loadx(0x0A040000, 0xF0D3A26C, 0x00000000, 0x00000009, 0x00000000) = 0xF026E884... (0 Replies)
Discussion started by: erra_krishna
0 Replies
6. Shell Programming and Scripting
lets explain it easy by showing the initial file and desired file:
I've a file such this that contains:
initial_file:
31/12/2011 23:46:08 38.6762 43.689 14.16 Ml 3.1
... (1 Reply)
Discussion started by: oreka18
1 Replies
LEARN ABOUT SUNOS
bsd_signal
bsd_signal(3C) Standard C Library Functions bsd_signal(3C)
NAME
bsd_signal - simplified signal facilities
SYNOPSIS
#include <signal.h>
void (*bsd_signal(int sig, void (*func)(int)))(int);
DESCRIPTION
The bsd_signal() function provides a partially compatible interface for programs written to historical system interfaces (see USAGE below).
The function call bsd_signal(sig, func) has an effect as if implemented as:
void (*bsd_signal(int sig, void (*func)(int)))(int)
{
struct sigaction act, oact;
act.sa_handler = func;
act.sa_flags = SA_RESTART;
sigemptyset(&act.sa_mask);
sigaddset(&act.sa_mask, sig);
if (sigaction(sig, &act, &oact) == -1)
return(SIG_ERR);
return(oact.sa_handler);
}
The handler function should be declared:
void handler(int sig);
where sig is the signal number. The behavior is undefined if func is a function that takes more than one argument, or an argument of a
different type.
RETURN VALUES
Upon successful completion, bsd_signal() returns the previous action for sig. Otherwise, SIG_ERR is returned and errno is set to indicate
the error.
ERRORS
Refer to sigaction(2).
USAGE
This function is a direct replacement for the BSD signal(3UCB) function for simple applications that are installing a single-argument sig-
nal handler function. If a BSD signal handler function is being installed that expects more than one argument, the application has to be
modified to use sigaction(2). The bsd_signal() function differs from signal(3UCB) in that the SA_RESTART flag is set and the SA_RESETHAND
will be clear when bsd_signal() is used. The state of these flags is not specified for signal(3UCB).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO
sigaction(2), sigaddset(3C), sigemptyset(3C), signal(3UCB), attributes(5), standards(5)
SunOS 5.10 24 Jul 2002 bsd_signal(3C)