01-03-2006
use thread
Hi, Create a thread to receive (msgrcv) the response.
Wait for certain time (letus say 5sec).
Send a reply (msgsnd) if and only if a flag is set to Success within this thread, after that much wait time.
Hav a gud time.
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi All,
Please guide me how to get rid :
msgrcv : Invalid argument.
I am using message queues: msgsnd and msgrcv,
I am able to send through msgsnd and receive through msgrcv, but at times i get the belo error.
msgrcv : Invalid argument. (1 Reply)
Discussion started by: answers
1 Replies
2. AIX
Hi All,
I have a piece of code like blow. It is working fine with AIX 5.3 SP3. When the same thing is getting executed in AIX 5. SP6 it is giving segmentation fault. If I put debug statements before and after, it works fine.
rc = msgrcv(mqid, &msg, size, HIGH_PRIORITY_FIRST , 0)
... (0 Replies)
Discussion started by: sandhya_chp
0 Replies
3. IP Networking
Just looking at my ethernet interface.. I see this response... what does this mean...?
ipconfig...
lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft... (0 Replies)
Discussion started by: jimmyc
0 Replies
4. Programming
Hey guys, Im doing message passing for the first time on a linux OS. Im new to C programming, so bear with me. I made two .c files : central.c and external.c
I simply wanted to pass a message from the central process to the external process. BUT Whenever each process gets to the... (3 Replies)
Discussion started by: carl33p
3 Replies
5. UNIX for Dummies Questions & Answers
Hi everybody,
this is the situation. there is a programm XYZ which opens a message queue with the key 47110815 and waits for a SIGUSR1. After receiving this signal it sends a message with type 100 and a number (as ASCII) in the message-body.
I have to write a prog which frist sends the... (1 Reply)
Discussion started by: daredevil82m
1 Replies
6. UNIX for Dummies Questions & Answers
I was wondering about following. If I have set of 3 signals. And they are all blocked.Now at some point in the program the set is unblocked. Which signal will be delivered first.This is my set....SIGTSTP,SIGQUIT,SIGINT.When I added them in the set and unblock them I did it in following order...
... (1 Reply)
Discussion started by: joker40
1 Replies
7. Programming
I'm working with recv and I am having a heck of a lot of trouble ignoring excess data that I did not ask for. I was hoping someone could shine some light on the subject for me because I'm not getting anywhere fast.
---------- Post updated at 02:46 AM ---------- Previous update was at 12:31 AM... (2 Replies)
Discussion started by: Errigour
2 Replies
8. UNIX for Dummies Questions & Answers
I am trying to use the forever command. I can get it to work if I do not use the w option to watch for changes and cause an automatic restart on a change to the contents of the directory being watched.
I would really like to use the watch option. Is this option fully implemented? here is an... (4 Replies)
Discussion started by: barrygordon
4 Replies
LEARN ABOUT X11R4
thr_join
thr_join(3C) Standard C Library Functions thr_join(3C)
NAME
thr_join - wait for thread termination
SYNOPSIS
cc -mt [ flag... ] file...[ library... ]
#include <thread.h>
int thr_join(thread_t thread, thread_t *departed, void **status);
DESCRIPTION
The thr_join() function suspends processing of the calling thread until the target thread completes. The thread argument must be a member
of the current process and cannot be a detached thread. See thr_create(3C).
If two or more threads wait for the same thread to complete, all will suspend processing until the thread has terminated, and then one
thread will return successfully and the others will return with an error of ESRCH. The thr_join() function will not block processing of the
calling thread if the target thread has already terminated.
If a thr_join() call returns successfully with a non-null status argument, the value passed to thr_exit(3C) by the terminating thread will
be placed in the location referenced by status.
If the target thread ID is 0, thr_join() finds and returns the status of a terminated undetached thread in the process. If no such thread
exists, it suspends processing of the calling thread until a thread for which no other thread is waiting enters that state, at which time
it returns successfully, or until all other threads in the process are either daemon threads or threads waiting in thr_join(), in which
case it returns EDEADLK. See NOTES.
If departed is not NULL, it points to a location that is set to the ID of the terminated thread if thr_join() returns successfully.
RETURN VALUES
If successful, thr_join() returns 0. Otherwise, an error number is returned to indicate the error.
ERRORS
EDEADLK A joining deadlock would occur, such as when a thread attempts to wait for itself, or the calling thread is waiting for any
thread to exit and only daemon threads or waiting threads exist in the process.
ESRCH No undetached thread could be found corresponding to the given thread ID.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
thr_create(3C), thr_exit(3C), wait(3C), attributes(5), standards(5)
NOTES
Using thr_join(3C) in the following syntax,
while (thr_join(0, NULL, NULL) == 0);
will wait for the termination of all non-daemon threads, excluding threads that are themselves waiting in thr_join().
SunOS 5.10 27 Mar 2000 thr_join(3C)