|
From: <sv...@va...> - 2009-07-24 06:30:08
|
Author: bart
Date: 2009-07-24 07:29:57 +0100 (Fri, 24 Jul 2009)
New Revision: 10576
Log:
Added command line option -q, which allows to suppress printing an error message if a Pthreads call fails.
Modified:
trunk/drd/tests/pth_inconsistent_cond_wait.c
Modified: trunk/drd/tests/pth_inconsistent_cond_wait.c
===================================================================
--- trunk/drd/tests/pth_inconsistent_cond_wait.c 2009-07-24 05:38:23 UTC (rev 10575)
+++ trunk/drd/tests/pth_inconsistent_cond_wait.c 2009-07-24 06:29:57 UTC (rev 10576)
@@ -20,7 +20,7 @@
do \
{ \
int err = (expr); \
- if ((err) != 0) \
+ if (! s_quiet && err) \
{ \
fprintf(stderr, \
"%s:%d %s returned error code %d (%s)\n", \
@@ -33,10 +33,11 @@
} while (0)
-pthread_cond_t s_cond;
-pthread_mutex_t s_mutex1;
-pthread_mutex_t s_mutex2;
-sem_t* s_sem;
+static pthread_cond_t s_cond;
+static pthread_mutex_t s_mutex1;
+static pthread_mutex_t s_mutex2;
+static sem_t* s_sem;
+static int s_quiet;
static sem_t* create_semaphore(const char* const name)
@@ -81,11 +82,23 @@
int main(int argc, char** argv)
{
+ char semaphore_name[32];
+ int optchar;
pthread_t tid1;
pthread_t tid2;
+ while ((optchar = getopt(argc, argv, "q")) != EOF)
+ {
+ switch (optchar)
+ {
+ case 'q': s_quiet = 1; break;
+ default:
+ fprintf(stderr, "Error: unknown option '%c'.\n", optchar);
+ return 1;
+ }
+ }
+
/* Initialize synchronization objects. */
- char semaphore_name[32];
snprintf(semaphore_name, sizeof(semaphore_name), "semaphore-%d", getpid());
s_sem = create_semaphore(semaphore_name);
PTH_CALL(pthread_cond_init(&s_cond, 0));
|