Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
* psxmsgq01/init.c, psxsem01/init.c: Add service to check status
returned by POSIX methods which return a pointer which is -1 on
error. This eliminated some casts.
* psxmsgq01/init.c, psxmsgq01/psxmsgq01.scn: Add tests for various
mq_timedreceive and mq_timedsend conditions. In particular test
timeout in the past.
PR 1291/cpukit
* psx05/init.c, psxmsgq01/init.c: As part of addressing timeouts and
POSIX services taking relative instead of absolute time for timeouts,
these tests were updated.
* Per PR47 add support for buffered test output. This involved
adding defines to redirect output to a buffer and dump it when
full, at "test pause", and at exit. To avoid problems when redefining
exit(), all tests were modified to call rtems_test_exit().
Some tests, notable psxtests, had to be modified to include
the standard test macro .h file (pmacros.h or tmacros.h) to
enable this support.
* include/pmacros.h, psx01/task.c, psx02/init.c, psx02/task.c,
psx03/init.c, psx04/init.c, psx05/init.c, psx06/init.c, psx07/init.c,
psx08/task3.c, psx09/init.c, psx10/init.c, psx11/init.c,
psx12/init.c, psx13/Makefile.am, psx13/main.c, psx13/test.c,
psxcancel/init.c, psxchroot01/Makefile.am, psxchroot01/main.c,
psxchroot01/test.c, psxfile01/Makefile.am, psxfile01/main.c,
psxfile01/test.c, psxfile01/test_cat.c, psxfile01/test_extend.c,
psxfile01/test_write.c, psxmount/Makefile.am, psxmount/main.c,
psxmount/test.c, psxmsgq01/init.c, psxreaddir/Makefile.am,
psxreaddir/main.c, psxreaddir/test.c, psxsem01/init.c,
psxstat/Makefile.am, psxstat/main.c, psxstat/test.c, psxtime/main.c,
psxtime/test.c, psxtimer/psxtimer.c: Modified.
* psxmsgq01/init.c: Reflect changes made to address PR81 that
reworked POSIX message queues to add a descriptor separate from
the underlying message queue. This allows non-blocking to follow
the "open" not the underlying queue.
blocking sends when the queue is full. The SuperCore was enhanced
to support blocking on send. The existing POSIX API was debugged
and numerous test cases were added to psxmsgq01 by Jennifer Averett.
SuperCore enhancements and resulting modifications to other APIs
were done by Joel.
There is one significant point of interpretation for the POSIX API.
What happens to threads already blocked on a message queue when the
mode of that same message queue is changed from blocking to non-blocking?
We decided to unblock all waiting tasks with an EAGAIN error just
as if a non-blocking version of the same operation had returned
unsatisfied. This case is not discussed in the POSIX standard and
other implementations may have chosen differently.