By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,826 Members | 1,230 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,826 IT Pros & Developers. It's quick & easy.

Exception occured when pthread_exit() is used.

P: 4
We had written an application in which we create worker thread.



So the main thread will create the worker thread. After some time

the child thread(Worker thread) will call pthread_exit().

This function was written in try{} and there occured an
exception and is handled in catch(...) handler.

This is on Linux platform.


The Implementation of the code is as follows:

This is a simple form of our application, Try to run this small piece

of code.



The output of this is " FATAL: exception not rethrown

Inside catch... Aborted"



#include <stdio.h>

#include <stdlib.h>

#include <stdexcept.h>

#include <pthread.h>



using namespace std;



void print_message_function( void *ptr );

int main()

{

pthread_t thread1;

char *message1 = "Thread 1";

int iret1;



iret1 = pthread_create( &thread1, NULL, (void*(*)(void*))&print_message_function, (void*) message1);



pthread_join( thread1, NULL);





}



void print_message_function( void *ptr )

{

char *message;

message = (char *) ptr;



try

{

pthread_exit((void*) 1);

}

catch(...)

{

printf("Inside catch...\n");

}

}

CAN ANY ONE TELL ME THE REASON FOR THIS EXCEPTION.
Nov 29 '07 #1
Share this question for a faster answer!
Share on Google+

Post your reply

Sign in to post your reply or Sign up for a free account.