SIS in "real time"
Heinz Junkes
junkes at fhi-berlin.mpg.de
Fri Apr 9 17:45:31 UTC 2021
Jiri, Joel, thanks for your answers.
@Joel: I was wondering that rtems-examples in psx_example_3 does not wait 3 seconds.
I made a curious observation:
in the original code:
clock_gettime( CLOCK_REALTIME, &timeout );
timeout.tv_sec += 3;
timeout.tv_nsec = 0;
printf("The task is coming to enter in a timed wait\n");
pthread_cond_timedwait(&cond, &mutex, &timeout);
I then inserted some printfs and found that the "3" is added to the nsec’s.
Then I added the rtems-timespec-helpers routines, but get the same behavior:
void * print_hello(void * arg)
{
struct timespec now, timeout;
rtems_timespec_set(&timeout, 3, 0);
printf("<child>: Hello World! task with max priority \n");
clock_gettime( CLOCK_REALTIME, &now );
printf("now tv_sec = %d, tv_nsec = %d\n", now.tv_sec, now.tv_nsec);
rtems_timespec_add_to(&timeout, &now);
printf("timeout tv_sec = %d, tv_nsec = %d\n", timeout.tv_sec, timeout.tv_nsec);
printf("The task is coming to enter in a timed wait\n");
pthread_cond_timedwait(&cond, &mutex, &timeout);
printf("The task is coming out from the timed wait \n");
return NULL;
}
program output:
<main> Enter in the main
Creating first task
<child>: Hello World! task with max priority
now tv_sec = 4766459, tv_nsec = 567993600
timeout tv_sec = 4766459, tv_nsec = 567993603
The task is coming to enter in a timed wait
The task is coming out from the timed wait
First Task created
Creating second task
<child>: Hello World! Task with lowest priority Second task created
<main> Out of the main
If I now swap the arguments in the set-function , i.e. instead of
rtems_timespec_set(&timeout, 3, 0);
rtems_timespec_set(&timeout, 0, 3);
it looks as it should
<child>: Hello World! task with max priority
now tv_sec = 10766729, tv_nsec = 567993600
timeout tv_sec = 10766732, tv_nsec = 567993600
The task is coming to enter in a timed wait
The task is coming out from the timed wait
First Task created
Creating second task
<child>: Hello World! Task with lowest priority Second task created
<main> Out of the main
But still no timed wait recognizable :-(
Heinz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2542 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20210409/96fe23e3/attachment.bin>
More information about the users
mailing list