06-23-2008
If you want to modify function-local variables via some form of stack inspection/modification in an attempt to add global exception handling in C I'd respectfully suggest you are doing it wrong.
C based interpreted languages have these kinds of features without breaking C. Maybe you don't really want C at all.
Also gdb has all these introspection capabilities. Learn the debugger.
Last edited by ramen_noodle; 06-23-2008 at 06:01 PM..
6 More Discussions You Might Find Interesting
1. Solaris
How can I make analysis for catalina.out (2 Replies)
Discussion started by: Burhan
2 Replies
2. Programming
helo can u tell me what do you mean by stack winding and stack unwinding
Regards,
Amit (2 Replies)
Discussion started by: amitpansuria
2 Replies
3. Shell Programming and Scripting
:confused:Hi ,
Can someone please advise what is the meaning of metacharacters in below code?
a_PROCESS=${0##*/}
a_DPFX=${a_PROCESS%.*}
a_LPFX="a_DPFX : $$ : "
a_UPFX="Usage: $a_PROCESS"
Regards,
gehlnar (3 Replies)
Discussion started by: gehlnar
3 Replies
4. UNIX for Dummies Questions & Answers
Hey Guys,
Does anyone know how to count the separate amount of words in a text file?
e.g
the 5
and 20
Furthermore does anyone know how to convert whole numbers in decimals?
Thanks (24 Replies)
Discussion started by: John0101
24 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I am new to the linux kernel development area. I want to know what is the difference between kernel mode stack and user mode stack? Does each process has a user mode stack and a kernel mode stack?? Or Each process has a user mode stack and there is only one kernel mode stack that is shared by... (4 Replies)
Discussion started by: saurabhkoar
4 Replies
6. Infrastructure Monitoring
Dear All,
I am an performance tester. Now i am working in project where we are using linux 2.6.32. Now I got an oppurtunity to learn the monitoring the server. As part of this task i need to do analysis of the Nmon report. I was completely blank in this.
So please suggest me how to start... (0 Replies)
Discussion started by: iamsengu
0 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)