aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorTom Tromey2012-08-15 13:11:22 -0600
committerTom Tromey2012-08-15 13:11:22 -0600
commit51100bb8d36f68842ab55fd0501af56dfc58cc51 (patch)
tree6c94b7f893304276b43c57bd12eff92d914a7cd2 /src/alloc.c
parent1dcacbc64721b1a4de58aa36460b0a39e766be63 (diff)
downloademacs-51100bb8d36f68842ab55fd0501af56dfc58cc51.tar.gz
emacs-51100bb8d36f68842ab55fd0501af56dfc58cc51.zip
This supplies the mutex implementation for Emacs Lisp.
A lisp mutex is implemented using a condition variable, so that we can interrupt a mutex-lock operation by calling thread-signal on the blocking thread. I did things this way because pthread_mutex_lock can't readily be interrupted.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 69742a325d1..80d22d61d66 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3104,6 +3104,8 @@ sweep_vectors (void)
3104 3104
3105 if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_THREAD)) 3105 if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_THREAD))
3106 finalize_one_thread ((struct thread_state *) vector); 3106 finalize_one_thread ((struct thread_state *) vector);
3107 else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_MUTEX))
3108 finalize_one_mutex ((struct Lisp_Mutex *) vector);
3107 3109
3108 next = ADVANCE (vector, nbytes); 3110 next = ADVANCE (vector, nbytes);
3109 3111