- pthread_mq_receive_generic(&myq, &str, false, PTHREAD_XTIME_FOREVER);
- printf("RECVD: %.6s\t\t(waiting %d)\n", str, pthread_mq_waiting(&myq));
- //sleep(1);
+ if(pthread_mq_receive_generic(&myq, &str, false, PTHREAD_XTIME_FOREVER))
+ printf("-RECVD: %.6s\t\t(waiting %d)\n", str, (int)pthread_mq_waiting(&myq));
+ if(pthread_mq_receive_generic(&myq, &str, false, PTHREAD_XTIME_NOBLOCK))
+ printf("+RECVD: %.6s\t\t(waiting %d)\n", str, (int)pthread_mq_waiting(&myq));
+ }
+}
+
+void *thread_send() {
+ while(1) {
+ pthread_mq_send_generic(&myq, " X ", true, PTHREAD_XTIME_NOBLOCK);
+ pthread_mq_send_generic(&myq, " Y ", false, PTHREAD_XTIME_FOREVER);