[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r2862 - GNUnet/src/util
From: |
grothoff |
Subject: |
[GNUnet-SVN] r2862 - GNUnet/src/util |
Date: |
Sat, 20 May 2006 03:49:51 -0700 (PDT) |
Author: grothoff
Date: 2006-05-20 03:49:49 -0700 (Sat, 20 May 2006)
New Revision: 2862
Modified:
GNUnet/src/util/semaphore.c
Log:
correct error handling -- new pthread detection maybe wrong, better not assert
at all
Modified: GNUnet/src/util/semaphore.c
===================================================================
--- GNUnet/src/util/semaphore.c 2006-05-20 10:12:36 UTC (rev 2861)
+++ GNUnet/src/util/semaphore.c 2006-05-20 10:49:49 UTC (rev 2862)
@@ -332,11 +332,6 @@
void PTHREAD_GET_SELF(PTHREAD_T * pt) {
pt->internal = MALLOC(sizeof(pthread_t));
*((pthread_t*)pt->internal) = pthread_self();
-#ifdef HAVE_NEW_PTHREAD_T
- GNUNET_ASSERT(NULL != ((pthread_t*)pt->internal)->p);
-#else
- GNUNET_ASSERT(NULL != *((pthread_t*)pt->internal));
-#endif
}
/**
@@ -441,14 +436,30 @@
void PTHREAD_KILL(PTHREAD_T * pt,
int signal) {
pthread_t * handle;
+ int ret;
handle = pt->internal;
if (handle == NULL) {
BREAK();
return;
}
- if (0 != pthread_kill(*handle, signal))
- LOG_STRERROR(LOG_ERROR, "pthread_kill");
+ ret = pthread_kill(*handle, signal);
+ switch (ret) {
+ case 0:
+ break; /* ok */
+ case EINVAL:
+ LOG(LOG_ERROR,
+ _("pthread_kill failed (invalid signal number)"));
+ break;
+ case ESRCH:
+ LOG(LOG_ERROR,
+ _("pthread_kill failed (no such thread)"));
+ break;
+ default:
+ LOG(LOG_ERROR,
+ _("pthread_kill failed (unknown error)"));
+ break;
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r2862 - GNUnet/src/util,
grothoff <=