Sponsored Content
Top Forums Programming exception vs. multiple-thread Post 302120345 by porter on Tuesday 5th of June 2007 11:32:02 PM
Old 06-06-2007
1. No.

2. Thread *should* exit.

However this all depends on how thread-aware the C++ library is. The best thing to do is for a C++ thread created with pthread_create to have a try/catch(...) block to stop C++ threads trying to unwind through pthread library.

eg

Code:
static void *my_thead(void *arg)
{
    try
    {
       do_funky_stuff();
    }
    catch(...)
    {
    }

    return NULL;
}

Not all platforms support mixing pthread_cleanup_push/pop with C++ local objects.

G++ is appalling with exceptions and threads. For example calling pthread_exit() should cause all local objects to destruct. Sun's Studio11 does this correctly.
 

5 More Discussions You Might Find Interesting

1. IP Networking

Can we write a multiple thread to receive from a single socket file descriptor

Hi Friends, I have written a program which will listener for more than 1000 requests per second from a single socket descriptor and then it will process those requestes. Its taking X amount of time. Now i want to reduce that time. Will I can write multiple threads to receive the... (2 Replies)
Discussion started by: pa.chidhambaram
2 Replies

2. Shell Programming and Scripting

FTP GET with exception handeling and multiple conditions

Thanks everyone for the wonderful and helping environment.. And the problem I asked.. forget it... 4 days wait for a decent reply was such a moral booster.. (3 Replies)
Discussion started by: ReignOfChaos
3 Replies

3. Programming

creating multiple threads using single thread id

Hi all, Can I create multiple threads using single thread_id like pthread_t thread_id; pthread_create(&thread_id, NULL, &print_xs, NULL); pthread_create(&thread_id, NULL, &print_ys, NULL); pthread_create(&thread_id, NULL, &print_zs, NULL); pthread_join(thread_id, NULL); what... (2 Replies)
Discussion started by: zing_foru
2 Replies

4. Shell Programming and Scripting

Monitor logs for exception and if exception come then sent an email

Hi Folks, please advise , I have logs generated on unix machine at location /ops/opt/aaa/bvg.log , now sometimes there come exception in these logs also, so I want to write such a script such that it should continuously monitor these logs and whenever any exception comes that is it try to find... (3 Replies)
Discussion started by: tuntun27272727
3 Replies

5. Shell Programming and Scripting

Catching the exception in multiple logs

Hi folks, I have logs folder in which different type of logs are generated , I am monitoring them by the below command tail -f *.log but I want that if exception come in any of the logs then it should be catch so what i should prefix with tail -f *.log so that it imeediatley catches and... (3 Replies)
Discussion started by: punpun66
3 Replies
thr_kill(3C)															      thr_kill(3C)

NAME
thr_kill - send a signal to a thread SYNOPSIS
cc -mt [ flag... ] file... [ library... ] #include <signal.h> #include <thread.h> int thr_kill(thread_t thread, int sig); The thr_kill() function sends the sig signal to the thread designated by thread. The thread argument must be a member of the same process as the calling thread. The sig argument must be one of the signals listed in signal.h(3HEAD), with the exception of SIGCANCEL being reserved and off limits to thr_kill(). If sig is 0, a validity check is done for the existence of the target thread; no signal is sent. Upon successful completion, thr_kill() returns 0. Otherwise, an error number is returned. In the event of failure, no signal is sent. The thr_kill() function will fail if: EINVAL The sig argument value is not zero and is an invalid or an unsupported signal number. ESRCH No thread was found that corresponded to the thread designated by thread ID. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+ kill(2), sigaction(2), raise(3C), signal.h(3HEAD), thr_self(3C), attributes(5), standards(5) 23 Mar 2005 thr_kill(3C)
All times are GMT -4. The time now is 03:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy