aboutsummaryrefslogtreecommitdiff
path: root/libfshelp/lock-acquire.c
diff options
context:
space:
mode:
authorJustus Winter <justus@gnupg.org>2017-06-19 21:20:57 +0200
committerJustus Winter <justus@gnupg.org>2017-08-05 18:42:22 +0200
commit835b293d35a209d38047126443d41fa7090daa4c (patch)
tree5bf956895e6030f91cd618fb191b2151f6d25423 /libfshelp/lock-acquire.c
parentdc0b5a43224999223a246870912b0f292b1980e9 (diff)
downloadhurd-835b293d35a209d38047126443d41fa7090daa4c.tar.gz
hurd-835b293d35a209d38047126443d41fa7090daa4c.tar.bz2
hurd-835b293d35a209d38047126443d41fa7090daa4c.zip
Use our own variant of 'assert' and 'assert_perror'.
Our variants print stack traces on failures. This will make locating errors much easier.
Diffstat (limited to 'libfshelp/lock-acquire.c')
-rw-r--r--libfshelp/lock-acquire.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libfshelp/lock-acquire.c b/libfshelp/lock-acquire.c
index 07df4283..47a63dab 100644
--- a/libfshelp/lock-acquire.c
+++ b/libfshelp/lock-acquire.c
@@ -19,7 +19,7 @@
/* Written by Michael I. Bushnell. */
-#include <assert.h>
+#include <assert-backtrace.h>
#include <sys/file.h>
#include "fshelp.h"
@@ -60,9 +60,9 @@ fshelp_acquire_lock (struct lock_box *box, int *user, pthread_mutex_t *mut,
if (*user & LOCK_UN)
return 0;
- assert (*user == box->type ||
+ assert_backtrace (*user == box->type ||
(*user == LOCK_SH && box->type == (LOCK_SH | LOCK_EX)));
- assert (*user == LOCK_SH || *user == LOCK_EX ||
+ assert_backtrace (*user == LOCK_SH || *user == LOCK_EX ||
*user == (LOCK_SH | LOCK_EX));
if (*user == LOCK_SH)
@@ -153,10 +153,10 @@ fshelp_acquire_lock (struct lock_box *box, int *user, pthread_mutex_t *mut,
return EINTR;
}
- assert ((flags & LOCK_SH) || (flags & LOCK_EX));
+ assert_backtrace ((flags & LOCK_SH) || (flags & LOCK_EX));
if (flags & LOCK_SH)
{
- assert (!(box->type & LOCK_EX));
+ assert_backtrace (!(box->type & LOCK_EX));
*user = LOCK_SH;
box->type = LOCK_SH;
box->shcount++;
@@ -182,7 +182,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, pthread_mutex_t *mut,
}
if (*user == LOCK_SH)
{
- assert (box->shcount == 1);
+ assert_backtrace (box->shcount == 1);
box->shcount = 0;
}
box->type = LOCK_EX;