The normal threaded way to do what is suggested is to create a monitor thread for notification and use pthread_cond primitives for the synchronization.
Example code follows.
Except, instead of liveloop in main(), you'd join on the monitoring thread which would exit the process group in case of calamitous error.
Last edited by ramen_noodle; 09-08-2008 at 05:08 PM..
Hello,
i have 2 questions:
1. Can I get the current memory usage of a thread?
2. Can I use a member-function as (void*)(*)(void*) method to create a new thread with "pthread_create(...)"??
I would be happy about any suggestion.
Regards,
Rolf (2 Replies)
Hi all!
I am implementing an http server in c++ using the posix thread, but i am having a memory leak and i cannot find the reason.
I have already commented out the section that initializes the threads and i found out, the problem is when i initialize/run the threads.
In the threads i have... (1 Reply)
I am facing a strange error while creating posix threads:
Given below are two snippets of code, the first one works whereas the second one gives a garbage value in the output.
Snippet 1
This works:
--------------
int *threadids;
threadids = (int *) malloc (num_threads * sizeof(int));
... (4 Replies)
i am creating threads in my program using the POSIX interface.
when the thread starts executing i run out of memory and get a core dump.
i have tried to increase the threads stack size using pthread_attr_setstacksize, but of no use since i guess the dynamic memory is allocated on the heap and... (1 Reply)
Hi All,
I have scenario where my callback function data_update() can be called anytime. I have written the function data_update() such that it will create detached thread for processing the data sent to this function.
data_update()
{
pthread_attr_t attr_thread;
... (1 Reply)
Hi All,
I am creating detached threads using pthread_create(). As we know, we need to pass the thread attribute structure as an argument to the pthread_Create() API.
I want to know what is the good time to destroy this thread attributes using pthread_attr_destroy() call. Also, I want to know... (2 Replies)
is there a better way to check if a port is active on linux and sunos systems?
this is currently what I'm using in my script:
netstat -an | egrep -i "$PORT"
i know this isn't the best way as there could be numbers in that output that has my port number in it but isn't necessarily a... (0 Replies)
I want to create a program that creates 2 child process, and each of them creates 2 threads, and each thread prints its thread id. I0ve allread done that the outuput isn't the outuput i want.
When a run the following comand "$./a.out | sort -u | wc -l" I have the folowing output
2
$:
It should... (3 Replies)
Discussion started by: pharaoh
3 Replies
LEARN ABOUT REDHAT
pthread_create
PTHREAD_CREATE(3) Library Functions Manual PTHREAD_CREATE(3)NAME
pthread_create - create a new thread
SYNOPSIS
#include <pthread.h>
int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg);
DESCRIPTION
pthread_create creates a new thread of control that executes concurrently with the calling thread. The new thread applies the function
start_routine passing it arg as first argument. The new thread terminates either explicitly, by calling pthread_exit(3), or implicitly, by
returning from the start_routine function. The latter case is equivalent to calling pthread_exit(3) with the result returned by start_rou-
tine as exit code.
The attr argument specifies thread attributes to be applied to the new thread. See pthread_attr_init(3) for a complete list of thread
attributes. The attr argument can also be NULL, in which case default attributes are used: the created thread is joinable (not detached)
and has default (non real-time) scheduling policy.
RETURN VALUE
On success, the identifier of the newly created thread is stored in the location pointed by the thread argument, and a 0 is returned. On
error, a non-zero error code is returned.
ERRORS
EAGAIN not enough system resources to create a process for the new thread.
EAGAIN more than PTHREAD_THREADS_MAX threads are already active.
AUTHOR
Xavier Leroy <Xavier.Leroy@inria.fr>
SEE ALSO pthread_exit(3), pthread_join(3), pthread_detach(3), pthread_attr_init(3).
LinuxThreads PTHREAD_CREATE(3)