diff options
-rw-r--r-- | nuttx/configs/ez80f910200zco/ostest/defconfig | 2 | ||||
-rw-r--r-- | nuttx/configs/ez80f910200zco/ostest/test-result.txt | 1260 |
2 files changed, 732 insertions, 530 deletions
diff --git a/nuttx/configs/ez80f910200zco/ostest/defconfig b/nuttx/configs/ez80f910200zco/ostest/defconfig index 1025d8521..35c7bd9e2 100644 --- a/nuttx/configs/ez80f910200zco/ostest/defconfig +++ b/nuttx/configs/ez80f910200zco/ostest/defconfig @@ -231,7 +231,7 @@ CONFIG_DEV_LOWCONSOLE=y CONFIG_DISABLE_CLOCK=n CONFIG_DISABLE_POSIX_TIMERS=n CONFIG_DISABLE_PTHREAD=n -CONFIG_DISABLE_SIGNALS=y +CONFIG_DISABLE_SIGNALS=n CONFIG_DISABLE_MQUEUE=n CONFIG_DISABLE_MOUNTPOINT=n CONFIG_DISABLE_ENVIRON=n diff --git a/nuttx/configs/ez80f910200zco/ostest/test-result.txt b/nuttx/configs/ez80f910200zco/ostest/test-result.txt index ebf178439..500af325d 100644 --- a/nuttx/configs/ez80f910200zco/ostest/test-result.txt +++ b/nuttx/configs/ez80f910200zco/ostest/test-result.txt @@ -1,529 +1,731 @@ -This is the output from the z16f target from January 31, 2008 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -While all tests pass per this output, my impression is that some -of the timed delays in during execution of the test were not -correct and I suspect some system timing issues. - -stdio_test: write fd=1 -stdio_test: write fd=2 -stdio_test: Standard I/O Check: printf -user_start: putenv(Variable1=BadValue3) -user_start: setenv(Variable1, GoodValue1, TRUE) -user_start: setenv(Variable2, BadValue1, FALSE) -user_start: setenv(Variable2, GoodValue2, TRUE) -user_start: setenv(Variable3, Variable3, FALSE) -user_start: setenv(Variable3, Variable3, FALSE) -show_variable: Variable=Variable1 has value=GoodValue1 -show_variable: Variable=Variable2 has value=GoodValue2 -show_variable: Variable=Variable3 has value=GoodValue3 -user_start: Started user_main at PID=2 -stdio_test: Standard I/O Check: fprintf to stderr - -user_main: Begin argument test -user_main: Started with argc=5 -user_main: argv[0]="<noname>" -user_main: argv[1]="Arg1" -user_main: argv[2]="Arg2" -user_main: argv[3]="Arg3" -user_main: argv[4]="Arg4" - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 2 2 -mxordblk 76b20 76b20 -uordblks 33d0 33d0 -fordblks 78180 78180 -show_variable: Variable=Variable1 has value=GoodValue1 -show_variable: Variable=Variable2 has value=GoodValue2 -show_variable: Variable=Variable3 has value=GoodValue3 -show_variable: Variable=Variable1 has no value -show_variable: Variable=Variable2 has value=GoodValue2 -show_variable: Variable=Variable3 has value=GoodValue3 - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 2 3 -mxordblk 76b20 76b20 -uordblks 33d0 33c0 -fordblks 78180 78190 -show_variable: Variable=Variable1 has no value -show_variable: Variable=Variable2 has no value -show_variable: Variable=Variable3 has no value - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 33c0 3380 -fordblks 78190 781d0 - -user_main: /dev/null test -dev_null: Read 0 bytes from /dev/null -dev_null: Wrote 1024 bytes to /dev/null - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: mutex test -Initializing mutex -Starting thread 1 -Starting thread 2 - Thread1 Thread2 - Loops 32 32 - Errors 0 0 - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: cancel test -cancel_test: Test 1: Normal Cancelation -cancel_test: Starting thread -start_thread: Initializing mutex -start_thread: Initializing cond -start_thread: Starting thread -thread_waiter: Taking mutex -thread_waiter: Starting wait for condition -start_thread: Yielding -cancel_test: Canceling thread -cancel_test: Joining -cancel_test: waiter exited with result=ffffffff -cancel_test: PASS thread terminated with PTHREAD_CANCELED -cancel_test: Test 2: Cancelation of detached thread -cancel_test: Re-starting thread -restart_thread: Destroying cond -restart_thread: Destroying mutex -restart_thread: Re-starting thread -start_thread: Initializing mutex -start_thread: Initializing cond -start_thread: Starting thread -thread_waiter: Taking mutex -thread_waiter: Starting wait for condition -start_thread: Yielding -cancel_test: Canceling thread -cancel_test: Joining -cancel_test: PASS pthread_join failed with status=ESRCH -cancel_test: Test 3: Non-cancelable threads -cancel_test: Re-starting thread (non-cancelable) -restart_thread: Destroying cond -restart_thread: Destroying mutex -restart_thread: Re-starting thread -start_thread: Initializing mutex -start_thread: Initializing cond -start_thread: Starting thread -thread_waiter: Taking mutex -thread_waiter: Starting wait for condition -thread_waiter: Setting non-cancelable -start_thread: Yielding -cancel_test: Canceling thread -cancel_test: Joining -thread_waiter: Releasing mutex -thread_waiter: Setting cancelable -cancel_test: waiter exited with result=ffffffff -cancel_test: PASS thread terminated with PTHREAD_CANCELED - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: semaphore test -sem_test: Initializing semaphore to 0 -sem_test: Starting waiter thread 1 -sem_test: Set thread 1 priority to 191 -waiter_func: Thread 1 Started -waiter_func: Thread 1 initial semaphore value = 0 -waiter_func: Thread 1 waiting on semaphore -sem_test: Starting waiter thread 2 -sem_test: Set thread 2 priority to 128 -waiter_func: Thread 2 Started -waiter_func: Thread 2 initial semaphore value = -1 -waiter_func: Thread 2 waiting on semaphore -sem_test: Starting poster thread 3 -sem_test: Set thread 3 priority to 64 -poster_func: Thread 3 started -poster_func: Thread 3 semaphore value = -2 -poster_func: Thread 3 posting semaphore -waiter_func: Thread 1 awakened -waiter_func: Thread 1 new semaphore value = -1 -waiter_func: Thread 1 done -poster_func: Thread 3 new semaphore value = -1 -poster_func: Thread 3 semaphore value = -1 -poster_func: Thread 3 posting semaphore -waiter_func: Thread 2 awakened -waiter_func: Thread 2 new semaphore value = 0 -waiter_func: Thread 2 done -poster_func: Thread 3 new semaphore value = 0 -poster_func: Thread 3 done - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: condition variable test -cond_test: Initializing mutex -cond_test: Initializing cond -cond_test: Starting waiter -cond_test: Set thread 1 priority to 128 -waiter_thread: Started -cond_test: Starting signaler -cond_test: Set thread 2 priority to 64 -thread_signaler: Started -thread_signaler: Terminating -cond_test: signaler terminated, now cancel the waiter -cond_test: Waiter Signaler -cond_test: Loops 32 32 -cond_test: Errors 0 0 -cond_test: -cond_test: 0 times, waiter did not have to wait for data -cond_test: 0 times, data was already available when the signaler run -cond_test: 0 times, the waiter was in an unexpected state when the signaler ran - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: timed wait test -thread_waiter: Initializing mutex -timedwait_test: Initializing cond -timedwait_test: Starting waiter -timedwait_test: Set thread 2 priority to 177 -thread_waiter: Taking mutex -thread_waiter: Starting 5 second wait for condition -timedwait_test: Joining -tcb=0x8057d0 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf7a -rtcb=8057d0 sigdeliver=13046 sigpendactionq.head=0 -Resuming -thread_waiter: pthread_cond_timedwait timed out -thread_waiter: Releasing mutex -thread_waiter: Exit with status 0x12345678 -timedwait_test: waiter exited with result=12345678 - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: message queue test -mqueue_test: Starting receiver -mqueue_test: Set receiver priority to 128 -receiver_thread: Starting -mqueue_test: Starting sender -mqueue_test: Set sender thread priority to 64 -mqueue_test: Waiting for sender to complete -sender_thread: Starting -receiver_thread: mq_receive succeeded on msg 0 -sender_thread: mq_send succeeded on msg 0 -receiver_thread: mq_receive succeeded on msg 1 -sender_thread: mq_send succeeded on msg 1 -receiver_thread: mq_receive succeeded on msg 2 -sender_thread: mq_send succeeded on msg 2 -receiver_thread: mq_receive succeeded on msg 3 -sender_thread: mq_send succeeded on msg 3 -receiver_thread: mq_receive succeeded on msg 4 -sender_thread: mq_send succeeded on msg 4 -receiver_thread: mq_receive succeeded on msg 5 -sender_thread: mq_send succeeded on msg 5 -receiver_thread: mq_receive succeeded on msg 6 -sender_thread: mq_send succeeded on msg 6 -receiver_thread: mq_receive succeeded on msg 7 -sender_thread: mq_send succeeded on msg 7 -receiver_thread: mq_receive succeeded on msg 8 -sender_thread: mq_send succeeded on msg 8 -receiver_thread: mq_receive succeeded on msg 9 -sender_thread: mq_send succeeded on msg 9 -sender_thread: returning ntcb=0x8057d0 sigdeliver=0x13046 -rtcb=0x806e30 current_regs=0x0 -rtcb=8057d0 sigdeliver=13046 sigpendactionq.head=0 -Resuming -errors=0 -mqueue_test: Killing receiver -receiver_thread: mq_receive interrupted! -receiver_thread: returning nerrors=0 -mqueue_test: Canceling receiver -mqueue_test: receiver has already terminated - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: timed message queue test -timedmqueue_test: Starting sender -sender_thread: Starting -sender_thread: mq_timedsend succeeded on msg 0 -sender_thread: mq_timedsend succeeded on msg 1 -timedmqueue_test: Waiting for sender to complete -sender_thread: mq_timedsend succeeded on msg 2 -sender_thread: mq_timedsend succeeded on msg 3 -sender_thread: mq_timedsend succeeded on msg 4 -sender_thread: mq_timedsend succeeded on msg 5 -sender_thread: mq_timedsend succeeded on msg 6 -sender_thread: mq_timedsend succeeded on msg 7 -sender_thread: mq_timedsend succeeded on msg 8 -sender_thread: mq_timedsend 9 timed out as expected -sender_thread: returning nerrors=0 -timedmqueue_test: Starting receiver -receiver_thread: Starting -receiver_thread: mq_timedreceive succeeded on msg 0 -receiver_thread: mq_timedreceive succeeded on msg 1 -receiver_thread: mq_timedreceive succeeded on msg 2 -receiver_thread: mq_timedreceive succeeded on msg 3 -timedmqueue_test: Waiting for receiver to complete -receiver_thread: mq_timedreceive succeeded on msg 4 -receiver_thread: mq_timedreceive succeeded on msg 5 -receiver_thread: mq_timedreceive succeeded on msg 6 -receiver_thread: mq_timedreceive succeeded on msg 7 -receiver_thread: mq_timedreceive succeeded on msg 8 -receiver_thread: Receive 9 timed out as expected -receiver_thread: returning nerrors=0 -timedmqueue_test: Test complete - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 3 -mxordblk 76b20 76b20 -uordblks 3380 3380 -fordblks 781d0 781d0 - -user_main: signal handler test -sighand_test: Initializing semaphore to 0 -sighand_test: Starting waiter task -sighand_test: Started waiter_main pid=20 -waiter_main: Waiter started -waiter_main: Unmasking signal 17 -waiter_main: Registering signal handler -waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0 -waiter_main: Waiting on semaphore -tcb=0x8057d0 sigdeliver=0x13046 -rtcb=0x806e30 current_regs=0x0 -sighand_test: Signaling pid=20 with signo=17 sigvalue=42 -rtcb=8057d0 sigdeliver=13046 sigpendactionq.head=804b10 -Resuming -wakeup_action: Received signal 17 -wakeup_action: sival_int=42 -wakeup_action: si_code=1 -wakeup_action: ucontext=0 -waiter_main: sem_wait() successfully interrupted by signal -waiter_main: done -sighand_test: done - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 3 4 -mxordblk 76b20 76b20 -uordblks 3380 35c0 -fordblks 781d0 77f90 - -user_main: POSIX timer test -timer_test: Initializing semaphore to 0 -timer_test: Unmasking signal 17 -timer_test: Registering signal handler -timer_test: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0 -timer_test: Creating timer -timer_test: Starting timer -timer_test: Waiting on semaphore -tcb=0x806e30 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf7a -rtcb=806e30 sigdeliver=13046 sigpendactionq.head=804b23 -Resuming -timer_expiration: Received signal 17 -timer_expiration: sival_int=42 -timer_expiration: si_code=2 (SI_TIMER) -timer_expiration: ucontext=0 -timer_test: sem_wait() successfully interrupted by signal -timer_test: g_nsigreceived=1 -timer_test: Waiting on semaphore -tcb=0x806e30 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf7a -rtcb=806e30 sigdeliver=13046 sigpendactionq.head=804b36 -Resuming -timer_expiration: Received signal 17 -timer_expiration: sival_int=42 -timer_expiration: si_code=2 (SI_TIMER) -timer_expiration: ucontext=0 -timer_test: sem_wait() successfully interrupted by signal -timer_test: g_nsigreceived=2 -timer_test: Waiting on semaphore -tcb=0x806e30 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf7a -rtcb=806e30 sigdeliver=13046 sigpendactionq.head=804b49 -Resuming -timer_expiration: Received signal 17 -timer_expiration: sival_int=42 -timer_expiration: si_code=2 (SI_TIMER) -timer_expiration: ucontext=0 -timer_test: sem_wait() successfully interrupted by signal -timer_test: g_nsigreceived=3 -timer_test: Waiting on semaphore -tcb=0x806e30 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf76 -rtcb=806e30 sigdeliver=13046 sigpendactionq.head=804b5c -Resuming -timer_expiration: Received signal 17 -timer_expiration: sival_int=42 -timer_expiration: si_code=2 (SI_TIMER) -timer_expiration: ucontext=0 -timer_test: sem_wait() successfully interrupted by signal -timer_test: g_nsigreceived=4 -timer_test: Waiting on semaphore -tcb=0x806e30 sigdeliver=0x13046 -rtcb=0x8000c8 current_regs=0xffffbf66 -rtcb=806e30 sigdeliver=13046 sigpendactionq.head=804b6f -Resuming -timer_expiration: Received signal 17 -timer_expiration: sival_int=42 -timer_expiration: si_code=2 (SI_TIMER) -timer_expiration: ucontext=0 -timer_test: sem_wait() successfully interrupted by signal -timer_test: g_nsigreceived=5 -timer_test: Deleting timer -timer_test: done - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 4 4 -mxordblk 76b20 76b20 -uordblks 35c0 35c0 -fordblks 77f90 77f90 - -user_main: round-robin scheduler test -rr_test: Starting sieve1 thread -rr_test: Set thread priority to 1 -rr_test: Set thread policty to SCHED_RR -rr_test: Starting sieve1 thread -sieve1 started -rr_test: Waiting for sieves to complete -- this should take awhile -rr_test: If RR scheduling is working, they should start and complete at -rr_test: about the same time -sieve2 started -sieve1 finished -sieve2 finished -rr_test: Done - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 4 4 -mxordblk 76b20 76b20 -uordblks 35c0 35c0 -fordblks 77f90 77f90 - -user_main: barrier test -barrier_test: Initializing barrier -barrier_func: Thread 0 started -barrier_test: Thread 0 created -barrier_func: Thread 1 started -barrier_test: Thread 1 created -barrier_func: Thread 2 started -barrier_test: Thread 2 created -barrier_func: Thread 3 started -barrier_test: Thread 3 created -barrier_func: Thread 0 calling pthread_barrier_wait() -barrier_func: Thread 1 calling pthread_barrier_wait() -barrier_func: Thread 2 calling pthread_barrier_wait() -barrier_func: Thread 4 started -barrier_test: Thread 4 created -barrier_func: Thread 3 calling pthread_barrier_wait() -barrier_func: Thread 4 calling pthread_barrier_wait() -barrier_func: Thread 5 started -barrier_test: Thread 5 created -barrier_func: Thread 6 started -barrier_test: Thread 6 created -barrier_func: Thread 7 started -barrier_test: Thread 7 created -barrier_func: Thread 5 calling pthread_barrier_wait() -barrier_func: Thread 6 calling pthread_barrier_wait() -barrier_func: Thread 7 calling pthread_barrier_wait() -barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL) -barrier_func: Thread 0, back with status=0 (I am not special) -barrier_func: Thread 1, back with status=0 (I am not special) -barrier_func: Thread 2, back with status=0 (I am not special) -barrier_func: Thread 3, back with status=0 (I am not special) -barrier_func: Thread 4, back with status=0 (I am not special) -barrier_func: Thread 5, back with status=0 (I am not special) -barrier_func: Thread 6, back with status=0 (I am not special) -barrier_func: Thread 2 done -barrier_func: Thread 7 done -barrier_func: Thread 0 done -barrier_func: Thread 1 done -barrier_func: Thread 6 done -barrier_func: Thread 3 done -barrier_func: Thread 4 done -barrier_func: Thread 5 done -barrier_test: Thread 0 completed with result=0 -barrier_test: Thread 1 completed with result=0 -barrier_test: Thread 2 completed with result=0 -barrier_test: Thread 3 completed with result=0 -barrier_test: Thread 4 completed with result=0 -barrier_test: Thread 5 completed with result=0 -barrier_test: Thread 6 completed with result=0 -barrier_test: Thread 7 completed with result=0 - -End of test memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 4 4 -mxordblk 76b20 76b20 -uordblks 35c0 35c0 -fordblks 77f90 77f90 - -Final memory usage: -VARIABLE BEFORE AFTER -======== ======== ======== -arena 7b550 7b550 -ordblks 2 4 -mxordblk 76b20 76b20 -uordblks 33d0 35c0 -fordblks 78180 77f90 -user_main: Exitting - +This is the output from the ez80f910200zcog-d target from February 27, 2009
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+All features are enabled and all test pass *except* for the round-robin
+test. However, it appears that some kept the interrupts disabled through-out
+the conduct of that test (I can tell because of the interrupt driven LED
+array on the board does not update when interrupts are disabled). So I
+suspect that there is something else going on in that test case.
+
+stdio_test: write fd=1
+stdio_test: write fd=2
+stdio_test: Standard I/O Check: printf
+user_start: putenv(Variable1=BadValue3)
+user_start: setenv(Variable1, GoodValue1, TRUE)
+user_start: setenv(Variable2, BadValue1, FALSE)
+user_start: setenv(Variable2, GoodValue2, TRUE)
+user_start: setenv(Variable3, Variable3, FALSE)
+user_start: setenv(Variable3, Variable3, FALSE)
+show_variable: Variable=Variable1 has value=GoodValue1
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+user_start: Started user_main at PID=2
+user_start: Exitting
+stdio_test: Standard I/O Check: fprintf to stderr
+
+user_main: Begin argument test
+user_main: Started with argc=5
+user_main: argv[0]="<noname>"
+user_main: argv[1]="Arg1"
+user_main: argv[2]="Arg2"
+user_main: argv[3]="Arg3"
+user_main: argv[4]="Arg4"
+show_variable: Variable=Variable1 has value=GoodValue1
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+show_variable: Variable=Variable1 has no value
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+show_variable: Variable=Variable1 has no value
+show_variable: Variable=Variable2 has no value
+show_variable: Variable=Variable3 has no value
+
+user_main: /dev/null test
+dev_null: Read 0 bytes from /dev/null
+dev_null: Wrote 1024 bytes to /dev/null
+
+user_main: mutex test
+Initializing mutex
+Starting thread 1
+Starting thread 2
+ Thread1 Thread2
+ Loops 32 32
+ Errors 0 0
+
+user_main: cancel test
+cancel_test: Test 1: Normal Cancelation
+cancel_test: Starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+cancel_test: waiter exited with result=ffffff
+cancel_test: PASS thread terminated with PTHREAD_CANCELED
+cancel_test: Test 2: Cancelation of detached thread
+cancel_test: Re-starting thread
+restart_thread: Destroying cond
+restart_thread: Destroying mutex
+restart_thread: Re-starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+cancel_test: PASS pthread_join failed with status=ESRCH
+cancel_test: Test 3: Non-cancelable threads
+cancel_test: Re-starting thread (non-cancelable)
+restart_thread: Destroying cond
+restart_thread: Destroying mutex
+restart_thread: Re-starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+thread_waiter: Setting non-cancelable
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+thread_waiter: Releasing mutex
+thread_waiter: Setting cancelable
+cancel_test: waiter exited with result=ffffff
+cancel_test: PASS thread terminated with PTHREAD_CANCELED
+
+user_main: semaphore test
+sem_test: Initializing semaphore to 0
+sem_test: Starting waiter thread 1
+sem_test: Set thread 1 priority to 191
+waiter_func: Thread 1 Started
+waiter_func: Thread 1 initial semaphore value = 0
+waiter_func: Thread 1 waiting on semaphore
+sem_test: Starting waiter thread 2
+sem_test: Set thread 2 priority to 128
+waiter_func: Thread 2 Started
+waiter_func: Thread 2 initial semaphore value = -1
+waiter_func: Thread 2 waiting on semaphore
+sem_test: Starting poster thread 3
+sem_test: Set thread 3 priority to 64
+poster_func: Thread 3 started
+poster_func: Thread 3 semaphore value = -2
+poster_func: Thread 3 posting semaphore
+waiter_func: Thread 1 awakened
+waiter_func: Thread 1 new semaphore value = -1
+waiter_func: Thread 1 done
+poster_func: Thread 3 new semaphore value = -1
+poster_func: Thread 3 semaphore value = -1
+poster_func: Thread 3 posting semaphore
+waiter_func: Thread 2 awakened
+waiter_func: Thread 2 new semaphore value = 0
+waiter_func: Thread 2 done
+poster_func: Thread 3 new semaphore value = 0
+poster_func: Thread 3 done
+
+user_main: condition variable test
+cond_test: Initializing mutex
+cond_test: Initializing cond
+cond_test: Starting waiter
+cond_test: Set thread 1 priority to 128
+waiter_thread: Started
+cond_test: Starting signaler
+cond_test: Set thread 2 priority to 64
+thread_signaler: Started
+thread_signaler: Terminating
+cond_test: signaler terminated, now cancel the waiter
+cond_test: Waiter Signaler
+cond_test: Loops 32 32
+cond_test: Errors 0 0
+cond_test:
+cond_test: 0 times, waiter did not have to wait for data
+cond_test: 0 times, data was already available when the signaler run
+cond_test: 0 times, the waiter was in an unexpected state when the signaler ran
+
+user_main: message queue test
+mqueue_test: Starting receiver
+mqueue_test: Set receiver priority to 128
+receiver_thread: Starting
+mqueue_test: Starting sender
+mqueue_test: Set sender thread priority to 64
+mqueue_test: Waiting for sender to complete
+sender_thread: Starting
+receiver_thread: mq_receive succeeded on msg 0
+sender_thread: mq_send succeeded on msg 0
+receiver_thread: mq_receive succeeded on msg 1
+sender_thread: mq_send succeeded on msg 1
+receiver_thread: mq_receive succeeded on msg 2
+sender_thread: mq_send succeeded on msg 2
+receiver_thread: mq_receive succeeded on msg 3
+sender_thread: mq_send succeeded on msg 3
+receiver_thread: mq_receive succeeded on msg 4
+sender_thread: mq_send succeeded on msg 4
+receiver_thread: mq_receive succeeded on msg 5
+sender_thread: mq_send succeeded on msg 5
+receiver_thread: mq_receive succeeded on msg 6
+sender_thread: mq_send succeeded on msg 6
+receiver_thread: mq_receive succeeded on msg 7
+sender_thread: mq_send succeeded on msg 7
+receiver_thread: mq_receive succeeded on msg 8
+sender_thread: mq_send succeeded on msg 8
+receiver_thread: mq_receive succeeded on msg 9
+receiver_thread: returning nerrors=0
+sender_thread: mq_send succeeded on msg 9
+sender_thread: returning nerrors=0
+mqueue_test: Canceling receiver
+mqueue_test: receiver has already terminated
+
+user_main: timed message queue test
+timedmqueue_test: Starting sender
+sender_thread: Starting
+sender_thread: mq_timedsend succeeded on msg 0
+sender_thread: mq_timedsend succeeded on msg 1
+sender_thread: mq_timedsend succeeded on msg 2
+sender_thread: mq_timedsend succeeded on msg 3
+sender_thread: mq_timedsend succeeded on msg 4
+sender_thread: mq_timedsend succeeded on msg 5
+sender_thread: mq_timedsend succeeded on msg 6
+sender_thread: mq_timedsend succeeded on msg 7
+sender_thread: mq_timedsend succeeded on msg 8
+timedmqueue_test: Waiting for sender to complete
+sender_thread: mq_timedsend 9 timed out as expected
+sender_thread: returning nerrors=0
+timedmqueue_test: Starting receiver
+receiver_thread: Starting
+receiver_thread: mq_timedreceive succeeded on msg 0
+receiver_thread: mq_timedreceive succeeded on msg 1
+receiver_thread: mq_timedreceive succeeded on msg 2
+receiver_thread: mq_timedreceive succeeded on msg 3
+receiver_thread: mq_timedreceive succeeded on msg 4
+receiver_thread: mq_timedreceive succeeded on msg 5
+receiver_thread: mq_timedreceive succeeded on msg 6
+receiver_thread: mq_timedreceive succeeded on msg 7
+receiver_thread: mq_timedreceive succeeded on msg 8
+timedmqueue_test: Waiting for receiver to complete
+receiver_thread: Receive 9 timed out as expected
+receiver_thread: returning nerrors=0
+timedmqueue_test: Test complete
+
+user_main: round-robin scheduler test
+rr_test: Starting sieve1 thread
+rr_test: Set thread priority to 1
+rr_test: Set thread policty to SCHED_RR
+rr_test: Starting sieve1 thread
+sieve1 started
+sieve1 finished
+rr_test: Waiting for sieves to complete -- this should take awhile
+rr_test: If RR scheduling is working, they should start and complete at
+rr_test: about the same time
+sieve2 started
+sieve2 finished
+rr_test: Done
+
+user_main: barrier test
+barrier_test: Initializing barrier
+barrier_func: Thread 0 started
+barrier_func: Thread 0 calling pthread_barrier_wait()
+barrier_test: Thread 0 created
+barrier_func: Thread 1 started
+barrier_func: Thread 1 calling pthread_barrier_wait()
+barrier_test: Thread 1 created
+barrier_func: Thread 2 started
+barrier_func: Thread 2 calling pthread_barrier_wait()
+barrier_func: Thread 2, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL)
+barrier_func: Thread 2 done
+barrier_test: Thread 2 created
+barrier_func: Thread 0, back with status=0 (I am not special)
+barrier_func: Thread 0 done
+barrier_func: Thread 1, back with status=0 (I am not special)
+barrier_func: Thread 1 done
+barrier_test: Thread 0 completed with result=0
+barrier_test: Thread 1 completed with result=0
+barrier_test: Thread 2 completed with result=0
+user_main: Exitting
+stdio_test: write fd=1
+stdio_test: write fd=2
+stdio_test: Standard I/O Check: printf
+user_start: putenv(Variable1=BadValue3)
+user_start: setenv(Variable1, GoodValue1, TRUE)
+user_start: setenv(Variable2, BadValue1, FALSE)
+user_start: setenv(Variable2, GoodValue2, TRUE)
+user_start: setenv(Variable3, Variable3, FALSE)
+user_start: setenv(Variable3, Variable3, FALSE)
+show_variable: Variable=Variable1 has value=GoodValue1
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+user_start: Started user_main at PID=2
+user_start: Exitting
+stdio_test: Standard I/O Check: fprintf to stderr
+
+user_main: Begin argument test
+user_main: Started with argc=5
+user_main: argv[0]="<noname>"
+user_main: argv[1]="Arg1"
+user_main: argv[2]="Arg2"
+user_main: argv[3]="Arg3"
+user_main: argv[4]="Arg4"
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 2 2
+mxordblk 79e70 79e70
+uordblks 19d0 19d0
+fordblks 7a830 7a830
+show_variable: Variable=Variable1 has value=GoodValue1
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+show_variable: Variable=Variable1 has no value
+show_variable: Variable=Variable2 has value=GoodValue2
+show_variable: Variable=Variable3 has value=GoodValue3
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 2 3
+mxordblk 79e70 79e70
+uordblks 19d0 19c0
+fordblks 7a830 7a840
+show_variable: Variable=Variable1 has no value
+show_variable: Variable=Variable2 has no value
+show_variable: Variable=Variable3 has no value
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 19c0 1980
+fordblks 7a840 7a880
+
+user_main: /dev/null test
+dev_null: Read 0 bytes from /dev/null
+dev_null: Wrote 1024 bytes to /dev/null
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: mutex test
+Initializing mutex
+Starting thread 1
+Starting thread 2
+ Thread1 Thread2
+ Loops 32 32
+ Errors 0 0
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: cancel test
+cancel_test: Test 1: Normal Cancelation
+cancel_test: Starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+cancel_test: waiter exited with result=ffffff
+cancel_test: PASS thread terminated with PTHREAD_CANCELED
+cancel_test: Test 2: Cancelation of detached thread
+cancel_test: Re-starting thread
+restart_thread: Destroying cond
+restart_thread: Destroying mutex
+restart_thread: Re-starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+cancel_test: PASS pthread_join failed with status=ESRCH
+cancel_test: Test 3: Non-cancelable threads
+cancel_test: Re-starting thread (non-cancelable)
+restart_thread: Destroying cond
+restart_thread: Destroying mutex
+restart_thread: Re-starting thread
+start_thread: Initializing mutex
+start_thread: Initializing cond
+start_thread: Starting thread
+thread_waiter: Taking mutex
+thread_waiter: Starting wait for condition
+thread_waiter: Setting non-cancelable
+start_thread: Yielding
+cancel_test: Canceling thread
+cancel_test: Joining
+thread_waiter: Releasing mutex
+thread_waiter: Setting cancelable
+cancel_test: waiter exited with result=ffffff
+cancel_test: PASS thread terminated with PTHREAD_CANCELED
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: semaphore test
+sem_test: Initializing semaphore to 0
+sem_test: Starting waiter thread 1
+sem_test: Set thread 1 priority to 191
+waiter_func: Thread 1 Started
+waiter_func: Thread 1 initial semaphore value = 0
+waiter_func: Thread 1 waiting on semaphore
+sem_test: Starting waiter thread 2
+sem_test: Set thread 2 priority to 128
+waiter_func: Thread 2 Started
+waiter_func: Thread 2 initial semaphore value = -1
+waiter_func: Thread 2 waiting on semaphore
+sem_test: Starting poster thread 3
+sem_test: Set thread 3 priority to 64
+poster_func: Thread 3 started
+poster_func: Thread 3 semaphore value = -2
+poster_func: Thread 3 posting semaphore
+waiter_func: Thread 1 awakened
+waiter_func: Thread 1 new semaphore value = -1
+waiter_func: Thread 1 done
+poster_func: Thread 3 new semaphore value = -1
+poster_func: Thread 3 semaphore value = -1
+poster_func: Thread 3 posting semaphore
+waiter_func: Thread 2 awakened
+waiter_func: Thread 2 new semaphore value = 0
+waiter_func: Thread 2 done
+poster_func: Thread 3 new semaphore value = 0
+poster_func: Thread 3 done
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: condition variable test
+cond_test: Initializing mutex
+cond_test: Initializing cond
+cond_test: Starting waiter
+cond_test: Set thread 1 priority to 128
+waiter_thread: Started
+cond_test: Starting signaler
+cond_test: Set thread 2 priority to 64
+thread_signaler: Started
+thread_signaler: Terminating
+cond_test: signaler terminated, now cancel the waiter
+cond_test: Waiter Signaler
+cond_test: Loops 32 32
+cond_test: Errors 0 0
+cond_test:
+cond_test: 0 times, waiter did not have to wait for data
+cond_test: 0 times, data was already available when the signaler run
+cond_test: 0 times, the waiter was in an unexpected state when the signaler ran
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: timed wait test
+thread_waiter: Initializing mutex
+timedwait_test: Initializing cond
+timedwait_test: Starting waiter
+timedwait_test: Set thread 2 priority to 177
+thread_waiter: Taking mutex
+thread_waiter: Starting 5 second wait for condition
+timedwait_test: Joining
+tcb=0xb845d0 sigdeliver=0xa899
+rtcb=b845d0 sigdeliver=a899 sigpendactionq.head=0
+Resuming
+thread_waiter: pthread_cond_timedwait timed out
+thread_waiter: Releasing mutex
+thread_waiter: Exit with status 0x12345678
+timedwait_test: waiter exited with result=345678
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: message queue test
+mqueue_test: Starting receiver
+mqueue_test: Set receiver priority to 128
+receiver_thread: Starting
+mqueue_test: Starting sender
+mqueue_test: Set sender thread priority to 64
+mqueue_test: Waiting for sender to complete
+sender_thread: Starting
+receiver_thread: mq_receive succeeded on msg 0
+sender_thread: mq_send succeeded on msg 0
+receiver_thread: mq_receive succeeded on msg 1
+sender_thread: mq_send succeeded on msg 1
+receiver_thread: mq_receive succeeded on msg 2
+sender_thread: mq_send succeeded on msg 2
+receiver_thread: mq_receive succeeded on msg 3
+sender_thread: mq_send succeeded on msg 3
+receiver_thread: mq_receive succeeded on msg 4
+sender_thread: mq_send succeeded on msg 4
+receiver_thread: mq_receive succeeded on msg 5
+sender_thread: mq_send succeeded on msg 5
+receiver_thread: mq_receive succeeded on msg 6
+sender_thread: mq_send succeeded on msg 6
+receiver_thread: mq_receive succeeded on msg 7
+sender_thread: mq_send succeeded on msg 7
+receiver_thread: mq_receive succeeded on msg 8
+sender_thread: mq_send succeeded on msg 8
+receiver_thread: mq_receive succeeded on msg 9
+sender_thread: mq_send succeeded on msg 9
+sender_thread: returning nertcb=0xb845d0 sigdeliver=0xa899
+rtcb=b845d0 sigdeliver=a899 sigpendactionq.head=0
+Resuming
+rors=0
+mqueue_test: Killing receiver
+receiver_thread: mq_receive interrupted!
+receiver_thread: returning nerrors=0
+mqueue_test: Canceling receiver
+mqueue_test: receiver has already terminated
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: timed message queue test
+timedmqueue_test: Starting sender
+sender_thread: Starting
+sender_thread: mq_timedsend succeeded on msg 0
+sender_thread: mq_timedsend succeeded on msg 1
+sender_thread: mq_timedsend succeeded on msg 2
+sender_thread: mq_timedsend succeeded on msg 3
+sender_thread: mq_timedsend succeeded on msg 4
+sender_thread: mq_timedsend succeeded on msg 5
+sender_thread: mq_timedsend succeeded on msg 6
+sender_thread: mq_timedsend succeeded on msg 7
+sender_thread: mq_timedsend succeeded on msg 8
+timedmqueue_test: Waiting for sender to complete
+sender_thread: mq_timedsend 9 timed out as expected
+sender_thread: returning nerrors=0
+timedmqueue_test: Starting receiver
+receiver_thread: Starting
+receiver_thread: mq_timedreceive succeeded on msg 0
+receiver_thread: mq_timedreceive succeeded on msg 1
+receiver_thread: mq_timedreceive succeeded on msg 2
+receiver_thread: mq_timedreceive succeeded on msg 3
+receiver_thread: mq_timedreceive succeeded on msg 4
+receiver_thread: mq_timedreceive succeeded on msg 5
+receiver_thread: mq_timedreceive succeeded on msg 6
+receiver_thread: mq_timedreceive succeeded on msg 7
+receiver_thread: mq_timedreceive succeeded on msg 8
+timedmqueue_test: Waiting for receiver to complete
+receiver_thread: Receive 9 timed out as expected
+receiver_thread: returning nerrors=0
+timedmqueue_test: Test complete
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: signal handler test
+sighand_test: Initializing semaphore to 0
+sighand_test: Starting waiter task
+sighand_test: Started waiter_main pid=20
+waiter_main: Waiter started
+waiter_main: Unmasking signal 17
+waiter_main: Registering signal handler
+waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0
+waiter_main: Waiting on semaphore
+tcb=0xb845d0 sigdeliver=0xa899
+sighand_test: Signaling pid=20 with signo=17 sigvalue=42
+rtcb=b845d0 sigdeliver=a899 sigpendactionq.head=b83a70
+Resuming
+wakeup_action: Received signal 17
+wakeup_action: sival_int=42
+wakeup_action: si_code=1
+wakeup_action: ucontext=0
+waiter_main: sem_wait() successfully interrupted by signal
+waiter_main: done
+sighand_test: done
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: POSIX timer test
+timer_test: Initializing semaphore to 0
+timer_test: Unmasking signal 17
+timer_test: Registering signal handler
+timer_test: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0
+timer_test: Creating timer
+timer_test: Starting timer
+timer_test: Waiting on semaphore
+tcb=0xb84f90 sigdeliver=0xa899
+rtcb=b84f90 sigdeliver=a899 sigpendactionq.head=b83a80
+Resuming
+timer_expiration: Received signal 17
+timer_expiration: sival_int=42
+timer_expiration: si_code=2 (SI_TIMER)
+timer_expiration: ucontext=0
+timer_test: sem_wait() successfully interrupted by signal
+timer_test: g_nsigreceived=1
+timer_test: Waiting on semaphore
+tcb=0xb84f90 sigdeliver=0xa899
+rtcb=b84f90 sigdeliver=a899 sigpendactionq.head=b83a90
+Resuming
+timer_expiration: Received signal 17
+timer_expiration: sival_int=42
+timer_expiration: si_code=2 (SI_TIMER)
+timer_expiration: ucontext=0
+timer_test: sem_wait() successfully interrupted by signal
+timer_test: g_nsigreceived=2
+timer_test: Waiting on semaphore
+tcb=0xb84f90 sigdeliver=0xa899
+rtcb=b84f90 sigdeliver=a899 sigpendactionq.head=b83aa0
+Resuming
+timer_expiration: Received signal 17
+timer_expiration: sival_int=42
+timer_expiration: si_code=2 (SI_TIMER)
+timer_expiration: ucontext=0
+timer_test: sem_wait() successfully interrupted by signal
+timer_test: g_nsigreceived=3
+timer_test: Waiting on semaphore
+tcb=0xb84f90 sigdeliver=0xa899
+rtcb=b84f90 sigdeliver=a899 sigpendactionq.head=b83ab0
+Resuming
+timer_expiration: Received signal 17
+timer_expiration: sival_int=42
+timer_expiration: si_code=2 (SI_TIMER)
+timer_expiration: ucontext=0
+timer_test: sem_wait() successfully interrupted by signal
+timer_test: g_nsigreceived=4
+timer_test: Waiting on semaphore
+tcb=0xb84f90 sigdeliver=0xa899
+rtcb=b84f90 sigdeliver=a899 sigpendactionq.head=b83ac0
+Resuming
+timer_expiration: Received signal 17
+timer_expiration: sival_int=42
+timer_expiration: si_code=2 (SI_TIMER)
+timer_expiration: ucontext=0
+timer_test: sem_wait() successfully interrupted by signal
+timer_test: g_nsigreceived=5
+timer_test: Deleting timer
+timer_test: done
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: round-robin scheduler test
+rr_test: Starting sieve1 thread
+rr_test: Set thread priority to 1
+rr_test: Set thread policty to SCHED_RR
+rr_test: Starting sieve1 thread
+sieve1 started
+sieve1 finished
+rr_test: Waiting for sieves to complete -- this should take awhile
+rr_test: If RR scheduling is working, they should start and complete at
+rr_test: about the same time
+sieve2 started
+sieve2 finished
+rr_test: Done
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+user_main: barrier test
+barrier_test: Initializing barrier
+barrier_func: Thread 0 started
+barrier_test: Thread 0 created
+barrier_func: Thread 1 started
+barrier_test: Thread 1 created
+barrier_func: Thread 2 started
+barrier_test: Thread 2 created
+barrier_func: Thread 0 calling pthread_barrier_wait()
+barrier_func: Thread 1 calling pthread_barrier_wait()
+barrier_func: Thread 2 calling pthread_barrier_wait()
+barrier_func: Thread 2, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL)
+barrier_func: Thread 0, back with status=0 (I am not special)
+barrier_func: Thread 1, back with status=0 (I am not special)
+barrier_func: Thread 2 done
+barrier_func: Thread 0 done
+barrier_func: Thread 1 done
+barrier_test: Thread 0 completed with result=0
+barrier_test: Thread 1 completed with result=0
+barrier_test: Thread 2 completed with result=0
+
+End of test memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 3 3
+mxordblk 79e70 79e70
+uordblks 1980 1980
+fordblks 7a880 7a880
+
+Final memory usage:
+VARIABLE BEFORE AFTER
+======== ======== ========
+arena 7c200 7c200
+ordblks 2 3
+mxordblk 79e70 79e70
+uordblks 19d0 1980
+fordblks 7a830 7a880
+user_main: Exitting
|