gdb/testsuite/
* gdb.python/py-events.exp: Remove pretty printing comment. * gdb.python/py-evsignal.exp: New file. * gdb.python/py-evthreads.c: Include signal.h. (thread3): Remove variable count3. Remove variable bad and use raise instead. (thread2): Remove variable count2. Move thread3 pthread_create here, merge pthread_join to a single line. (main): Remove variable count1. Merge pthread_join with pthread_create to a single line. * gdb.python/py-evthreads.exp: Remove pretty printing comment. New KFAIL python/12966 for gdbserver. Test return value of gdb_compile_pthreads. Use gdb_run_cmd. Replace send_gdb and gdb_expect by gdb_test and gdb_test_multiple. (thread 2, thread 3): New tests.
This commit is contained in:
parent
c65b3e0d43
commit
0935723e5e
5 changed files with 120 additions and 91 deletions
|
@ -19,37 +19,35 @@
|
|||
#include <stdio.h>
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
|
||||
pthread_t thread2_id;
|
||||
pthread_t thread3_id;
|
||||
|
||||
void* thread3 (void* d)
|
||||
{
|
||||
int count3 = 0;
|
||||
count3++;
|
||||
|
||||
int *bad;
|
||||
*bad = 1;
|
||||
raise (SIGUSR1);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void* thread2 (void* d)
|
||||
{
|
||||
int count2 = 0;
|
||||
count2++;
|
||||
/* Do not quit thread3 asynchronously wrt thread2 stop - wait first on
|
||||
thread3_id to stop. It would complicate testcase receiption of the
|
||||
events. */
|
||||
|
||||
pthread_create (&thread3_id, NULL, thread3, NULL); pthread_join (thread3_id, NULL);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int main (){
|
||||
int main (void)
|
||||
{
|
||||
/* Use single line to not to race whether `thread2' breakpoint or `next' over
|
||||
pthread_create will stop first. */
|
||||
|
||||
pthread_create (&thread2_id, NULL, thread2, NULL);
|
||||
pthread_create (&thread3_id, NULL, thread3, NULL);
|
||||
pthread_create (&thread2_id, NULL, thread2, NULL); pthread_join (thread2_id, NULL);
|
||||
|
||||
int count1 = 0; // stop1
|
||||
count1++;
|
||||
|
||||
pthread_join (thread2_id, NULL);
|
||||
pthread_join (thread3_id, NULL);
|
||||
return 12;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue