Sponsored Content
Top Forums Programming Multiple instances of pthread Post 302644837 by clerew on Tuesday 22nd of May 2012 01:17:40 PM
Old 05-22-2012
Multiple instances of pthread

Indeed, but the pthreads in my example were created as detached (I showed a parameter '&detach' which was intended to give a strong hint to that effect).

And I agree that pthread_kill has to be used with caution, but in my case the threads were all 'sleep'ing, so I killed them with SIGALRM and they woke up and proceeded on their way, which was to kill themselves.

But you have not answered my main question, which was what happens (or is supposed to happen) if you create another thread on the same tid variable before it has died. It may be (indeed probably is) bad practice, but bad practice (aka s**t) happens, and the pthread system offers no help in avoiding it.

And if I need to know whether the thread on some tid is still running, how can I tell? Do I have to create some sufficiently global variable and keep track of it myself (which is what I have done) is is there some way I can ask?

It seems that what I need to do is discover whether a thread is still running on the tid, and then either arrane to kill it, or else to persuade the existing thread to take on new responsibilities. When I first wrote this code, I did not consider this possibility and it worked fine until things started to happen too faatSmilie.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

multiple instances of syslogd - is it possible?

I would like to start up multiple instances of syslog daemon. I am having a little difficulty. Is this at all possible? I have separate syslog.conf1.... syslog.conf5 files. I have linked the daemon to separate files syslogd1 ... syslogd5 I have arranged the rcd.2 start/stop scripts for... (9 Replies)
Discussion started by: Gary Dunn
9 Replies

2. UNIX for Dummies Questions & Answers

Multiple file instances

I am capturing text based reports with a specific program, which works no problem. However, since I send report warehouse output as they are migrated from the database software, on occasion when two capture process' initiate simultaneously, the capture file locks up. Is there a way to setup (in... (1 Reply)
Discussion started by: gozer13
1 Replies

3. Shell Programming and Scripting

detecting multiple instances

Hi Gurus I have a requirement like this. i use solaris OS.. if there are 2 instances of the same ksh file running in the directory, i need to kill the ksh file that started to run latest. suppose ragha.ksh starts running thru cron in abc/xyz directory now ragha.ksh started running by any... (3 Replies)
Discussion started by: ragha81
3 Replies

4. Shell Programming and Scripting

kill multiple instances of the same program

Hi, I know that the answer to this is very simple, since I saw somebody do it some time back..but I forgot how. The problem is, I have multiple instances of the same program running simultaneously and I want to kill them all in a single command. I know that it can be done using awk '{print... (12 Replies)
Discussion started by: ipzig
12 Replies

5. AIX

multiple instances of same vg on same AIX machine

hi, i am new to AIX and to this forum as well. Can you please help me out with following issue/requirement 1) I have one physical volume (pv1) (a scsi disk). (pv1) on 1st AIX machine. I have a single volume group on it(vg1). 2)I removed it from the 1st AIX machine and exported to the 2nd... (1 Reply)
Discussion started by: navadeep
1 Replies

6. Shell Programming and Scripting

Multiple instances of a job.

Could you please let me know how to create/make a multiple instances of a job/process in ksh(shell scripting). i.e., at present the parent script is calling another child/dependent script for only once. What we want is, the parent script itself has to execute multiple times, and in each one it... (1 Reply)
Discussion started by: Gangegowda
1 Replies

7. Shell Programming and Scripting

Checking for multiple instances of a process

Hi I have a scenario where i need to check multiple instances of a running shell script (abc.sh) . How can I find from inside a running shell script whether any other instance of the same script is running or not? If any other instance of same shell script is running I need to exit from... (4 Replies)
Discussion started by: raghu.amilineni
4 Replies

8. Shell Programming and Scripting

Grep with multiple instances of same pattern

Hi, This is my text file I'm trying to Grep. Apple Location Greenland Rdsds dsds fdfd ddsads http Received Return Immediately Received End My Grep command: grep only--matching 'Location.*Received' e. Because the keyword Received appears twice, the Grep command will stop at the last... (0 Replies)
Discussion started by: spywarebox
0 Replies

9. Shell Programming and Scripting

Grep with multiple instances of same pattern

Hi, This is my text file I'm trying to Grep. Apple Location Greenland Rdsds dsds fdfd ddsads http Received Return Immediately Received End My Grep command: grep only--matching 'Location.*Received' Because the keyword Received appears twice, the Grep command will stop at the last... (3 Replies)
Discussion started by: spywarebox
3 Replies

10. Programming

Control multiple program instances - open multiple files problem

Hello. This shouldn't be an unusual problem, but I cannot find anything about it at google or at other search machine. So, I've made an application using C++ and QtCreator. I 've made a new mime type for application's project files. My system (ubuntu 10.10), when I right click a file and I... (3 Replies)
Discussion started by: hakermania
3 Replies
TKILL(2)						     Linux Programmer's Manual							  TKILL(2)

NAME
tkill, tgkill - send a signal to a thread SYNOPSIS
int tkill(int tid, int sig); int tgkill(int tgid, int tid, int sig); Note: There are no glibc wrappers for these system calls; see NOTES. DESCRIPTION
tgkill() sends the signal sig to the thread with the thread ID tid in the thread group tgid. (By contrast, kill(2) can be used to send a signal only to a process (i.e., thread group) as a whole, and the signal will be delivered to an arbitrary thread within that process.) tkill() is an obsolete predecessor to tgkill(). It allows only the target thread ID to be specified, which may result in the wrong thread being signaled if a thread terminates and its thread ID is recycled. Avoid using this system call. These are the raw system call interfaces, meant for internal thread library use. RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately. ERRORS
EINVAL An invalid thread ID, thread group ID, or signal was specified. EPERM Permission denied. For the required permissions, see kill(2). ESRCH No process with the specified thread ID (and thread group ID) exists. EAGAIN The RLIMIT_SIGPENDING resource limit was reached and sig is a real-time signal. EAGAIN Insufficient kernel memory was available and sig is a real-time signal. VERSIONS
tkill() is supported since Linux 2.4.19 / 2.5.4. tgkill() was added in Linux 2.5.75. CONFORMING TO
tkill() and tgkill() are Linux-specific and should not be used in programs that are intended to be portable. NOTES
See the description of CLONE_THREAD in clone(2) for an explanation of thread groups. Glibc does not provide wrappers for these system calls; call them using syscall(2). SEE ALSO
clone(2), gettid(2), kill(2), rt_sigqueueinfo(2) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 TKILL(2)
All times are GMT -4. The time now is 07:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy