04-29-2011
the thread calling pthread_join() blocks until the targeted thread either returns from the start routine or calls pthread_exit().
That's it. It is difficult for us to help you further (the reason why your example didn't worked is clear - but doesn't seem to reflect your real problem?).
Cheers, Loïc
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. Post Here to Contact Site Administrators and Moderators
I am unable to open the mimesender thread. I get the following message when clicking on https://www.unix.com/showthread.php?p=33233#post33233 : (2 Replies)
Discussion started by: dangral
2 Replies
3. Programming
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:
void *thread_function(void *arg) { /* thread function */
int i;
rc =... (3 Replies)
Discussion started by: wolwy_pete
3 Replies
4. Forum Support Area for Unregistered Users & Account Problems
Hello,
I'd like to post a aix thread but I'm unable to.
Please let me know why this is happening.
Thanks.... (1 Reply)
Discussion started by: sullivjp
1 Replies
5. Programming
I try to initial a UDP client from threading, but it doesn't work? why?
These codes from the textbook
#define ECHOMAX 255 /* Longest string to echo */
#define TIMEOUT_SECS 2 /* Seconds between retransmits */
#define MAXTRIES 5 /* Tries before giving up */... (3 Replies)
Discussion started by: sehang
3 Replies
6. Programming
As I know threads share the memory. But, what about the local variables in the thread function? if i call multiple threads would they allocate seperate local variables for themselves?
like
thread_func()
{
int i, j;
string...
}
Are the above local variables defined for each of... (1 Reply)
Discussion started by: saman_glorious
1 Replies
7. Shell Programming and Scripting
Hello,
I hope you can help me with my problem.
I've written a programm which creates a thread. The main programmm creates 10 int and float values. The fucnction should give the values out.
May big problem ist that the delivery to the function is not working.
Where ist my fault?
How can I make... (1 Reply)
Discussion started by: jimm_the_h
1 Replies
8. Forum Support Area for Unregistered Users & Account Problems
I am unable to post reply to a thread. Whenever I will reply to any post I get the message every time :
The message you have entered is too short. Please lengthen your message to at least 5 characters.
Even though length of the message is more than required.
for example I tried to post
... (3 Replies)
Discussion started by: Unregistered
3 Replies
9. Forum Support Area for Unregistered Users & Account Problems
Hi.
I registered, but when trying to post, I get ...
"Sorry, you do not have enough Bits to post a new thread"
Google & Forum search showed some hits, but no solution.
Please advide.
Thanks! (1 Reply)
Discussion started by: gehe
1 Replies
10. Red Hat
Hi Experts,
Am writing a code which need to check for the previous day date and pickup the file as per the previous day date.
Problem: Why variable "YDATE" is empty ?
O/S: RHEL 5.6
Shell: BASH
Desired O/P: ls -lrt /opt/test/user/atsuser.NHU/out/demon.08272017
When I checked the... (3 Replies)
Discussion started by: pradeep84in
3 Replies
LEARN ABOUT OSX
wx::thread
Wx::Thread(3) User Contributed Perl Documentation Wx::Thread(3)
NAME
Thread - using wxPerl with threads
SYNOPSIS
# the order of these use()s is important
use threads;
use threads::shared;
use Wx;
my $DONE_EVENT : shared = Wx::NewEventType;
my $worker = threads->create( &work );
# create frames, etc
my $frame = Wx::Frame->new( ... );
EVT_COMMAND( $frame, -1, $DONE_EVENT, &done );
$app->MainLoop;
sub done {
my( $frame, $event ) = @_;
print $event->GetData;
}
sub work {
# ... do stuff, create a shared $result value
my $threvent = new Wx::PlThreadEvent( -1, $DONE_EVENT, $result );
Wx::PostEvent( $frame, $threvent );
}
# event handler
sub OnCreateThread {
# @_ = () is necessary to avoid "Scalars leaked"
my( $self, $event ) = @_; @_ = ();
threads->create( ... );
}
DESCRIPTION
Threaded GUI application are somewhat different from non-GUI threaded applications in that the main thread (which runs the GUI) must never
block. Also, in wxWidgets, no thread other than the main thread can manipulate GUI objects. This leads to a hybrid model where worker
threads must send events to the main thread in order to change the GUI state or signal their termination.
Order of module loading
It's necessary for "use Wx" to happen after <use threads::shared>.
Sending events from worker threads
"Wx::PlThreadEvent" can be used to communicate between worker and GUI threads. The event can carry a shared value between threads.
my $DONE_EVENT : shared = Wx::NewEventType;
sub work {
# ... do some stuff
my $progress = new Wx::PlThreadEvent( -1, $DONE_EVENT, $progress );
Wx::PostEvent( $frame, $progress );
# ... do stuff, create a shared $result value
my $end = new Wx::PlThreadEvent( -1, $DONE_EVENT, $result );
Wx::PostEvent( $frame, $end );
}
The target of the event can be any "Wx::EvtHandler"
Receiving events from worker threads
"Wx::PlThreadEvent" is a command event and can be handled as such. The "->GetData" method can be used to retrieve the shared data
contained inside the event.
my $DONE_EVENT : shared = Wx::NewEventType;
EVT_COMMAND( $frame, -1, $DONE_EVENT, &done );
sub done {
my( $frame, $event ) = @_;
print $event->GetData;
}
Creating new threads
Creating new threads from event handlers works without problems except from a little snag. In order not to trigger a bug in the Perl
interpreter, all event handler that directly or indirectly cause a thread creation must clean @_ before starting the thread.
For example:
sub OnCreateThread {
my( $self, $event ) = @_; @_ = ();
threads->create( ... );
}
failure to do that will cause "scalars leaked" warnings from the Perl interpreter.
perl v5.10.0 2007-04-28 Wx::Thread(3)