Threads terminating when a signal is generated


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Threads terminating when a signal is generated
# 1  
Old 04-22-2009
Threads terminating when a signal is generated

hi all,

i had created 3 threads using pthreads. Each thread does a different job. Now the main problem is when one thread generates a signal (for example SIGFPE, SIGINT) then the process terminates and all other threads do terminate eventually.

I want to keep other threads running i.e, i want to keep the process.
Is there a way only to terminate only the thread that generated the signal?

thank you
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl Threads Terminating Abnormally.

I've used threads before, but not with Perl. I tried looking up these errors and using 'join' instead of 'detach' with no luck. Here is the code I am currently using: #!/usr/bin/perl -w use warnings; use threads; use threads::shared; $Linux='Linux'; $Greek='Greek'; my... (3 Replies)
Discussion started by: Azrael
3 Replies

2. Shell Programming and Scripting

Cd error terminating loop

Hi All, I am trying to make a small shell script.In this it will got directory as per variable & run the find command on that directory.There are 120 + directories & not sure all of them are mounted.So the issue is if the directory doesent exists my loops gets terminated. so is there any was... (3 Replies)
Discussion started by: ajaincv
3 Replies

3. Programming

Question (pthread): How to Signal all threads w/o "broadcast"?

Hello all, Is there any way that I can signal (wake) all threads that I have created without using pthread_cond_broadcast? Cheers! Aaron (6 Replies)
Discussion started by: mobility
6 Replies

4. Shell Programming and Scripting

How can i terminating expect script without terminating SSH connection.

Hi all , i know i ask a lot of question but these are really hard to solve and important question. I send two scripts: expect.sh: #!/usr/local/bin/expect spawn ssh root@172.30.64.163 expect "login:" send "root\n" expect "password:" send "root\n^M" interact and son.sh: ... (2 Replies)
Discussion started by: fozay
2 Replies

5. Shell Programming and Scripting

nohup terminating

hi all, i m running few batch process through shell script using nohup command but when session get terminated(due to network, reboot of desktop and closing session directly) all processes terminating abnormally and core file is generating. application batch process is connecting oracle... (4 Replies)
Discussion started by: arvindng
4 Replies

6. Shell Programming and Scripting

script unexpectedly terminating

I now that this isnt the greatest code around. Im a network guy by trade not a programer .. but needed something to compare config files ... Anyway ... intermittently, the program terminates. Ive been looking at the code for a week trying to figure it out and Im stumped. Can anyone provide... (0 Replies)
Discussion started by: popeye
0 Replies

7. HP-UX

Terminating Processes by Name

Hi! Just want to know if there is one command that I can use to kill processes by its name. Thanks. (1 Reply)
Discussion started by: love833
1 Replies

8. UNIX for Dummies Questions & Answers

Terminating child script with terminating the parent script

Hi I was working on a shell script with randomly shows a page of text from a randomly selected topic .As soon as the page is displayed it callers a timer script which keeps on running indefinitely until the timer script is killed by the user. This is where I have the problem,if I press... (2 Replies)
Discussion started by: mervin2006
2 Replies

9. Shell Programming and Scripting

terminating script with CTRL+D

Hi, I'm trying to make a script that reads the console input and terminates with CTRL+D. It's absolutely basic but I don't know how to "read" the CTRL+D. I've tried a bunch of things like EOT=^D while //with & without quotations do read input echo $input done while while ] ... (12 Replies)
Discussion started by: sanchopansa
12 Replies

10. UNIX for Dummies Questions & Answers

Terminating myself

just like what the subject said but the ip is different example if now my IP is 192.168.0.50 and my name is seed if i wanna terminate 192.168.0.55 with the same nick of mine, seed can i do that ?? and what is the command ?? (2 Replies)
Discussion started by: SeeD
2 Replies
Login or Register to Ask a Question
sigsuspend(2)							System Calls Manual						     sigsuspend(2)

NAME
sigsuspend - wait for a signal SYNOPSIS
DESCRIPTION
The function replaces the current signal mask of the calling thread with the set of signals pointed to by and then suspends the thread until delivery of a signal whose action is either to execute a signal-catching function or to terminate the process. This will not cause any other signals that may have been pending on the process to become pending on the thread. If the action is to terminate the process then will never return. If the action is to execute a signal-catching function, then will return after the signal-catching function returns, with the signal mask restored to the set that existed prior to the call. It is not possible to block signals that cannot be ignored. This is enforced by the system without causing an error to be indicated. RETURN VALUE
Since suspends thread execution indefinitely, there is no successful completion return value. If a return occurs, -1 is returned and is set to indicate the error. ERRORS
The function will fail if: A signal is caught by the calling process and control is returned from the signal-catching function. sigmask points to an invalid address. The reliable detection of this error is implementation-dependent. APPLICATION USAGE
Threads Considerations Since blocked signal masks are maintained at the thread level, modifies only the calling thread's blocked signal mask. suspends only the calling thread until it receives a signal. If other threads in the process do not block the signal, the signal may be delivered to another thread in the process and the thread in may continue waiting. For this reason, the use of sigwait(2) is recommended instead of for multi-threaded applications. For more information regarding signals and threads, refer to signal(5). LWP (Lightweight Processes) Considerations modifies only the calling LWP's signal mask and suspends only the calling LWP until receipt of a signal. AUTHOR
was derived from the IEEE POSIX 1003.1-1988 Standard. SEE ALSO
pause(2), sigaction(2), sigpending(2), sigprocmask(2), sigsetops(3C), sigwait(2), signal(5). CHANGE HISTORY
First released in Issue 3. Entry included for alignment with the POSIX.1-1988 standard. STANDARDS CONFORMANCE
sigsuspend(2)