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
NPTL(7) 						     Linux Programmer's Manual							   NPTL(7)

NAME
nptl - Native POSIX Threads Library DESCRIPTION
NPTL (Native POSIX Threads Library) is the GNU C library POSIX threads implementation that is used on modern Linux systems. NPTL and signals NPTL makes internal use of the first two real-time signals (signal numbers 32 and 33). One of these signals is used to support thread can- cellation and POSIX timers (see timer_create(2)); the other is used as part of a mechanism that ensures all threads in a process always have the same UIDs and GIDs, as required by POSIX. These signals cannot be used in applications. To prevent accidental use of these signals in applications, which might interfere with the operation of the NPTL implementation, various glibc library functions and system call wrapper functions attempt to hide these signals from applications, as follows: * SIGRTMIN is defined with the value 34 (rather than 32). * The sigwaitinfo(2), sigtimedwait(2), and sigwait(3) interfaces silently ignore requests to wait for these two signals if they are speci- fied in the signal set argument of these calls. * The sigprocmask(2) and pthread_sigmask(3) interfaces silently ignore attempts to block these two signals. * The sigaction(2), pthread_kill(3), and pthread_sigqueue(3) interfaces fail with the error EINVAL (indicating an invalid signal number) if these signals are specified. * sigfillset(3) does not include these two signals when it creates a full signal set. NPTL and process credential changes At the Linux kernel level, credentials (user and group IDs) are a per-thread attribute. However, POSIX requires that all of the POSIX threads in a process have the same credentials. To accommodate this requirement, the NPTL implementation wraps all of the system calls that change process credentials with functions that, in addition to invoking the underlying system call, arrange for all other threads in the process to also change their credentials. The implementation of each of these system calls involves the use of a real-time signal that is sent (using tgkill(2)) to each of the other threads that must change its credentials. Before sending these signals, the thread that is changing credentials saves the new creden- tial(s) and records the system call being employed in a global buffer. A signal handler in the receiving thread(s) fetches this informa- tion and then uses the same system call to change its credentials. Wrapper functions employing this technique are provided for setgid(2), setuid(2), setegid(2), seteuid(2), setregid(2), setreuid(2), setres- gid(2), setresuid(2), and setgroups(2). CONFORMING TO
For details of the conformance of NPTL to the POSIX standard, see pthreads(7). NOTES
POSIX says that any thread in any process with access to the memory containing a process-shared (PTHREAD_PROCESS_SHARED) mutex can operate on that mutex. However, on 64-bit x86 systems, the mutex definition for x86-64 is incompatible with the mutex definition for i386, meaning that 32-bit and 64-bit binaries can't share mutexes on x86-64 systems. SEE ALSO
credentials(7), pthreads(7), signal(7), standards(7) Linux 2015-08-08 NPTL(7)

Featured Tech Videos