diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/cancel9.c | 2 | ||||
| -rw-r--r-- | tests/detach1.c | 19 | 
2 files changed, 13 insertions, 8 deletions
| diff --git a/tests/cancel9.c b/tests/cancel9.c index efa8ef2..b009161 100644 --- a/tests/cancel9.c +++ b/tests/cancel9.c @@ -97,7 +97,7 @@ test_udp (void *arg)      }    UDPSocket = socket (AF_INET, SOCK_DGRAM, 0); -  if (UDPSocket == -1) +  if ((int)UDPSocket == -1)      {        printf ("Server: socket ERROR \n");        exit (-1); diff --git a/tests/detach1.c b/tests/detach1.c index b0835c5..165c8c1 100644 --- a/tests/detach1.c +++ b/tests/detach1.c @@ -38,12 +38,17 @@  #include "test.h" + +enum { +  NUMTHREADS = 100 +}; +  void *  func(void * arg)  {      int i = (int) arg; -    Sleep(i * 100); +    Sleep(i * 10);      pthread_exit(arg); @@ -54,31 +59,31 @@ func(void * arg)  int  main(int argc, char * argv[])  { -	pthread_t id[4]; +	pthread_t id[NUMTHREADS];  	int i;  	/* Create a few threads and then exit. */ -	for (i = 0; i < 4; i++) +	for (i = 0; i < NUMTHREADS; i++)  	  {  	    assert(pthread_create(&id[i], NULL, func, (void *) i) == 0);  	  }  	/* Some threads will finish before they are detached, some after. */ -	Sleep(2 * 100 + 50); +	Sleep(NUMTHREADS/2 * 10 + 50); -	for (i = 0; i < 4; i++) +	for (i = 0; i < NUMTHREADS; i++)  	  {  	    assert(pthread_detach(id[i]) == 0);  	  } -	Sleep(6 * 100); +	Sleep(NUMTHREADS * 10 + 100);  	/*  	 * Check that all threads are now invalid.  	 * This relies on unique thread IDs - e.g. works with  	 * pthreads-w32 or Solaris, but may not work for Linux, BSD etc.  	 */ -	for (i = 0; i < 4; i++) +	for (i = 0; i < NUMTHREADS; i++)  	  {  	    assert(pthread_kill(id[i], 0) == ESRCH);  	  } | 
