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