Fix the race in gdb.threads/staticthreads.exp
authorYao Qi <yao@codesourcery.com>
Thu, 5 Jun 2014 07:07:47 +0000 (15:07 +0800)
committerYao Qi <yao@codesourcery.com>
Fri, 6 Jun 2014 01:45:22 +0000 (09:45 +0800)
commitb8b91e982ec3235a24ce052cbd8bb0e4fe1464e0
tree4a44d39f7b5fd9d2e71a83d88a0ac0f8c186ff1c
parent872a9dd8819dc701e19f6e6f3e15a320e5b08b67
Fix the race in gdb.threads/staticthreads.exp

The code in gdb.threads/staticthreads.exp about checking the value of
tlsvar in main thread is racy, because when child thread hits
breakpoint, the main thread may not go into pthread_join yet, and
may not be unwind to main.

This patch is to move the line setting breakpoint on after sem_wait,
so that the child thread will hit breakpoint after main thread calls
sem_post.  IOW, when child thread hits breakpoint, the main thread is
in either sem_post or pthread_join.  "up 10" can unwind main thread to
main.

gdb/testsuite:

2014-06-06  Yao Qi  <yao@codesourcery.com>

* gdb.threads/staticthreads.c (thread_function): Move the line
setting breakpoint on forward.
* gdb.threads/staticthreads.exp: Update comments.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/staticthreads.c
gdb/testsuite/gdb.threads/staticthreads.exp