09-10-2006
longjmp never returns
Hi
I am using setjmp and longjmp in a deeply nested functions BUT longjmp is not returning(hanging in longjmp)
How can I debug this issue. I could not cut and paste the code due to its size and it is chained with other programs.
Is there any way to trace where the control is?
Any pointers pls
9 More Discussions You Might Find Interesting
1. Programming
Im trying to connect to a particular IP address and I'm tying to use gethostbyaddr() and inet_addr() to do this. However, when I tried using inet_addr(), I always get a return value of 0 when I tried to connect to "172.21.16.238". Hope someone here could help me on this. I already tried using inet_... (1 Reply)
Discussion started by: soulfactory2002
1 Replies
2. UNIX for Dummies Questions & Answers
Is there a command where I can pipe my grep into it and it will output it with spaces rather than returns?
Example
I want to turn
prompt$ grep blah file
blah
blah
into this
prompt$ grep blah file | someCommand
blah blah (1 Reply)
Discussion started by: mrwatkin
1 Replies
3. Shell Programming and Scripting
Hi all,
I am trying to grep a .txt file for a word. When I hit enter, it returns back to $
The file is 4155402 in size and is named in this way:
*_eveningtimes_done_log.txt
I use this command, being in the same directory as the file:
grep -i "invalid" *_eveningtimes_done_log.txt
... (16 Replies)
Discussion started by: DallasT
16 Replies
4. Programming
request_irq always returns EINVAL
What am I doing wrong here ?
int mydrvr_open(struct inode *inode, struct file *filp)
{
int ret;
printk("<1> \nModule Opened!");
//disable_irq(4);
//free_irq(4, NULL);
ret = request_irq(4, &imr_interrupt_handler,IRQF_SHARED,... (0 Replies)
Discussion started by: dragonpoint
0 Replies
5. Shell Programming and Scripting
#/bin/sh
.....
#convert memory to MB
let "mmsize_a= ($mmsize)/256"
let "mminuse_a= ($mminuse)/256"
let "mmfree_a= ($mmsize_a -$mminuse_a)"
let "mmfreepercent= (($mmfree_a)/($mmsize_a))*100"
#
#format output
echo "\n\n######################" >>$sndFile
echo "\n$sysName Total Memory usage"... (3 Replies)
Discussion started by: Daniel Gate
3 Replies
6. UNIX for Dummies Questions & Answers
mon_yy=${1}
date_found=`find_end_day $mon_yy`
export_dealer_changes ${date_found}
Hello
I am trying to pull a formatted date back from the function find_end_day and pass it into the function export_dealer_changes. When I try the above the variable date_found is empty. I have tried various... (3 Replies)
Discussion started by: treemyf
3 Replies
7. Shell Programming and Scripting
Hi,
I need to return a value from the function. the value will be the output from cat command which uses random fucntion.
#!/bin/ksh
hello()
{
var1=$(`cat /dev/urandom| tr -dc 'a-zA-Z0-9-!%&()*+,-/:;<=>?_'|fold -w 10 | head -n 1`)
echo "value is" var1
return var1
}
hello
var=$?... (2 Replies)
Discussion started by: Nandy
2 Replies
8. Shell Programming and Scripting
I'm having a little trouble returning a value from a function or calling it, I'm not quite sure.
I'm calling the function here
function region_lookup_with_details {
results = $(set_region)
echo $results
}
This is the function I'm calling
function set_region {
... (8 Replies)
Discussion started by: akechnie
8 Replies
9. Shell Programming and Scripting
This returns 0 even when it does not delete any files.
Is it because -print returns 0?
RETVAL=$?
Docs_Backups=/media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Documents_Backups/
Scripts_Backups=/media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Script_Backups/
# create some old files
#touch -d 20120101... (4 Replies)
Discussion started by: drew77
4 Replies
LEARN ABOUT REDHAT
sigsetjmp
SETJMP(3) Library functions SETJMP(3)
NAME
setjmp, sigsetjmp - save stack context for non-local goto
SYNOPSIS
#include <setjmp.h>
int setjmp(jmp_buf env);
int sigsetjmp(sigjmp_buf env, int savesigs);
DESCRIPTION
setjmp() and longjmp() are useful for dealing with errors and interrupts encountered in a low-level subroutine of a program. setjmp()
saves the stack context/environment in env for later use by longjmp(). The stack context will be invalidated if the function which called
setjmp() returns.
sigsetjmp() is similar to setjmp(). If savesigs is nonzero, the set of blocked signals is saved in env and will be restored if a sig-
longjmp() is later performed with this env.
RETURN VALUE
setjmp() and sigsetjmp() return 0 if returning directly, and non-zero when returning from longjmp() using the saved context.
CONFORMING TO
POSIX, ISO 9899 (C99)
NOTES
POSIX does not specify whether setjmp will save the signal context. (In SYSV it will not. In BSD4.3 it will, and there is a function
_setjmp that will not.) If you want to save signal masks, use sigsetjmp.
setjmp() and sigsetjmp make programs hard to understand and maintain. If possible an alternative should be used.
SEE ALSO
longjmp(3), siglongjmp(3)
1997-03-02 SETJMP(3)