aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstddjb
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-16 01:53:36 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-16 01:53:36 +0000
commit6cf0cb6f31d8a4ee8d265ae6e51632ac9e826bf4 (patch)
treefc9178cd67a0fabfc838f732b41dd3f33311be02 /src/libstddjb
parenta500a5e534b3c03c685f3397050afe6667b740f8 (diff)
downloadskalibs-6cf0cb6f31d8a4ee8d265ae6e51632ac9e826bf4.tar.gz
And use it in sassclient
Diffstat (limited to 'src/libstddjb')
-rw-r--r--src/libstddjb/pthread_mutex_tailock.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libstddjb/pthread_mutex_tailock.c b/src/libstddjb/pthread_mutex_tailock.c
index affa8b3..8f8fbf3 100644
--- a/src/libstddjb/pthread_mutex_tailock.c
+++ b/src/libstddjb/pthread_mutex_tailock.c
@@ -10,15 +10,19 @@
int pthread_mutex_tailock (pthread_mutex_t *mtx, tain const *deadline, tain *stamp)
{
+ int e ;
struct timespec ts ;
tain tto ;
+ if (!stamp) return pthread_mutex_lock(mtx) ;
tain_sub(&tto, deadline, stamp) ;
if (!timespec_from_tain_relative(&ts, &tto)) return errno ;
#ifdef SKALIBS_HASPTHREADMUTEXCLOCKLOCK
if (&tain_now != &tain_wallclock_read)
- return pthread_mutex_clocklock(mtx, CLOCK_MONOTONIC, &ts) ;
+ e = pthread_mutex_clocklock(mtx, CLOCK_MONOTONIC, &ts) ;
else
#else
- return pthread_mutex_timedlock(mtx, &ts) ;
+ e = pthread_mutex_timedlock(mtx, &ts) ;
#endif
+ tain_now(stamp) ;
+ return e ;
}