Re: RTEMS | Draft: posix: Add mq_ispriority to mq_attr for per‑queue discipline selection (!1084)

Ayah Kashkoul (@AyahKash) gitlab at rtems.org
Tue Mar 3 00:53:28 UTC 2026




Ayah Kashkoul commented on a discussion on testsuites/psxtests/psxmsgq_prio_wakeup/init.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1084#note_144120

 > +    printf( "mq_open failed: %s\n", strerror( errno ) );
 > +    goto cleanup_sems;
 > +  }
 > +
 > +  /* 3. Create low priority thread 1 (id=1) */
 > +  pthread_attr_init( &pattr );
 > +  pthread_attr_setinheritsched( &pattr, PTHREAD_EXPLICIT_SCHED );
 > +  pthread_attr_setschedpolicy( &pattr, SCHED_FIFO );
 > +  sparam.sched_priority = low_prio;
 > +  pthread_attr_setschedparam( &pattr, &sparam );
 > +  rc = pthread_create( &tid1, &pattr, receive_thread, &id1 );
 > +  if ( rc != 0 ) {
 > +    printf( "Failed to create thread 1: %s\n", strerror( rc ) );
 > +    goto cleanup;
 > +  }
 > +  usleep( 10000 );

@gedare @aptacc2421 Good point. @aptacc2421's usleep() calls were originally used to ensure threads had time to block before mq_send(), but they introduce unnecessary delays and timing dependencies.

In !1098 I removed usleep() and replaced it with semaphore-based synchronization so the test deterministically waits for each thread to reach the blocking point before sending. This eliminates race conditions and reduces runtime. Let me know what you think :)

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1084#note_144120
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260303/5ceb03e4/attachment-0001.htm>


More information about the bugs mailing list