05-08-2008
create a thread from a returning function
hi all,
my requirement is to create a thread by calling another function.
i.e i dont call pthread_create directly from main, but by calling another function (createThd - below ), from main.
Example:
[CODE]
void *thread_function(void *arg) { /* thread function */
int i;
rc = pthread_detach(pthread_self());
for ( ; ; ) {
printf("Thread says hi!\n");
sleep(1);
}
pthread_exit(NULL);
}
int main(void) {
int i;
i = createThd(); /* call to thread creating function */
return (0);
}
int createThd()
{
int rc = 0;
pthread_t mythread;
if ( pthread_create( &mythread, NULL, thread_function, NULL) ) {
printf("error creating thread.");
return(-1);
}
return 0;
}
[\CODE]
this creates the thread but doesnt run it, thread terminates as soon as the function createThd() returns.
is there a way to overcome this problem.
any help is appreciated, thankx in advanced.
wolwy.
10 More Discussions You Might Find Interesting
1. HP-UX
Hello,
J create a thread C with a JNI function via JAVA.
J have the following message (but not in each time):
Someone has an idea ?
Thank.
Unexpected Signal : 4 occurred at PC=0x78C103E0
Function=
Library=(N/A)
NOTE: We are unable to locate the function name... (0 Replies)
Discussion started by: AUBERT
0 Replies
2. Programming
I have two string returning function in ESQL/C
char *segment_name(lbuffer)
char *lbuffer;
{.....
and
char *get_bpdvalue(f_name)
char *f_name;
{......
both declared above main()
char *get_bpdvalue();
char *segment_name();
my problem is segment_name works on sprintf and strcpy... (5 Replies)
Discussion started by: jisc
5 Replies
3. Shell Programming and Scripting
Hi all,
I am very new to BASH shell programming. I need to return an integer from a function to the caller function. I did this:
but it keeps giving me wrong return:
Can someone help me out here, please?
Thanks (2 Replies)
Discussion started by: alirezan
2 Replies
4. Programming
hi
how can I return multiple values from a C function. I tried the following:
#include <stdio.h>
void foo(int id, char *first_name, char *last_name)
{
/*
this is just an example to illustrate my problem... real code makes
use of the "id" parameter.
*/
first_name = (char... (8 Replies)
Discussion started by: Andrewkl
8 Replies
5. Shell Programming and Scripting
Hi All
In my script, I can call on several functions. I have a logging function that is called by any of these functions. What I would like is some way of identifying which function I am using and pass this to the log function as some parameter.
Is there some built in command or way of... (3 Replies)
Discussion started by: kingpin2502
3 Replies
6. Programming
I am working on a C/Unix application from last 2 years which communicates with other systems using proprietary format of my client. We have a function written in C which returns integer, which is response from other system to the request message initiated by my system. This return value is then... (1 Reply)
Discussion started by: dpmore
1 Replies
7. Programming
I am working on the application in which I have to fetch values from the database and paste in url and send it to portal.
table=get_result("SELECT serialno,cas,Mode,FLC,TLC,location,CompName,CompCode,FG,FC,DispNo,TruckNo,LWbill,RRGPN,INVNO,DCN,RQTY,DQTY,SQTY,DDATE,RDATE,SDATE,TTIME FROM... (1 Reply)
Discussion started by: er.rohan88
1 Replies
8. Programming
Hi guys.
how a functions such fdopen, ... can return pointer?
are these functions use static memory(variables)? (6 Replies)
Discussion started by: majid.merkava
6 Replies
9. Programming
Hi,
If I have a code like this, what are the potential problems do you see?
const char* const retString() {
return "hello"; /* string literal */
}
My questions are:
a) Since the string literal which is already a constant read only data (cannot be... (4 Replies)
Discussion started by: royalibrahim
4 Replies
10. Programming
Hi All,
I am using malloc function for allocating dynamic memory.
When I am using below code on Linux server its working fine, but When I am trying the same code on HP UNIX server its returning NULL.
below is a fragment of code in which it is giving problem.
tmp = (format_tree... (4 Replies)
Discussion started by: Taher Saifuddin
4 Replies
LEARN ABOUT HPUX
pthread_exit
pthread_exit(3T) pthread_exit(3T)
NAME
pthread_exit() - cause the calling thread to terminate
SYNOPSIS
PARAMETERS
value_ptr The calling thread's exit status.
DESCRIPTION
terminates the calling thread. The calling thread returns an exit status in value_ptr. This value is returned to a joining thread calling
on the terminating thread. Only threads created with the detachstate attribute value can return an exit status to The exit status of a
detached thread is lost when the thread terminates.
When a thread terminates, process-shared resources are not released. Examples of process-shared resources include mutexes, condition vari-
ables, semaphores, message queue descriptors, and file descriptors. The routines are not called when a thread terminates as this is a
process termination action.
An implicit call to is made when a thread returns from its start routine. The function's return value serves as the thread's exit status
(see pthread_create(3T)). If the main thread returns from without calling the process will exit using the return value from as the exit
status. If the main thread calls the process will continue executing until the last thread terminates or a thread calls After the last
thread in the process terminates, the process will exit with an exit status of zero.
Any installed cancellation cleanup handlers will be popped and executed in the reverse order that they were installed. After the cancella-
tion cleanup handlers have been executed, if the thread has any non-NULL thread-specific data values with associated destructor functions,
the destructor functions are called. The order in which these destructor functions are called is unspecified.
Calling from a cancellation cleanup handler or destructor function that was invoked because of thread termination results in undefined
behavior.
After a thread has terminated, the result of access to local (auto) variables of the thread is undefined. The terminating thread should
not use local variables for the value_ptr parameter value.
RETURN VALUE
None.
ERRORS
None, this function does not return.
AUTHOR
was derived from the IEEE POSIX P1003.1c standard.
SEE ALSO
pthread_create(3T), pthread_join(3T), exit(2), wait(2).
STANDARDS CONFORMANCE
Pthread Library pthread_exit(3T)