Subj : linux, pthreads and message queues, thread safe To : comp.programming.threads From : smoog5 Date : Mon May 16 2005 12:27 am Hi Are message queues (msgrcv, msgsnd) thread safe in linux pthreads? For example: int k1, k2; void *thread_main(void *k) { for (;;) { //each thread uses unique message type (for example pid //of external process) //thread receives messages from other processes msgrcv(k1, ...); [...] //thread sends message to other processes msgsnd(k2, ...); [...] } int main(int argc, char **argv) { k1 = msgget(KEY_1, IPC_CREAT); k2 = msgget(KEY_2, IPC_CREAT); pthread_t threads[10]; for (int i = 0; i < 10; i++) pthread_create(&threads[i], thread_main, ...); /* do something in infinite loop */ } Does it works? .