summaryrefslogtreecommitdiff
path: root/libguile/threads.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-07-01 19:10:18 +0200
committerLudovic Courtès <ludo@gnu.org>2011-07-01 19:10:18 +0200
commit97ec95b72873428f215a8a9892487c3a8435a754 (patch)
tree1b59d450c5f2de0714ba7e14501d1e8c7cdcdc01 /libguile/threads.c
parent4bc95fccad7288004515ce78d50611499cbca2db (diff)
downloadguile-97ec95b72873428f215a8a9892487c3a8435a754.tar.gz
Type-check the OWNER argument of `lock-mutex'.
* libguile/threads.c (scm_lock_mutex_timed): Type-check OWNER.
Diffstat (limited to 'libguile/threads.c')
-rw-r--r--libguile/threads.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/threads.c b/libguile/threads.c
index 0c6b8b40b..cbacfcad6 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -1460,6 +1460,9 @@ SCM_DEFINE (scm_lock_mutex_timed, "lock-mutex", 1, 2, 0,
waittime = &cwaittime;
}
+ if (!SCM_UNBNDP (owner) && !scm_is_false (owner))
+ SCM_VALIDATE_THREAD (3, owner);
+
exception = fat_mutex_lock (m, waittime, owner, &ret);
if (!scm_is_false (exception))
scm_ithrow (SCM_CAR (exception), scm_list_1 (SCM_CDR (exception)), 1);