1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00

Remove unnecessary uses of `scm_{leave,enter}_guile ()'.

* libguile/threads.c (scm_pthread_cond_wait,
  scm_pthread_cond_timedwait): Remove `scm_{leave,enter}_guile ()'
  calls.
This commit is contained in:
Ludovic Courtès 2009-09-10 00:21:08 +02:00
parent 9d19a9d61c
commit 4cf72f0ba6

View file

@ -1870,11 +1870,13 @@ scm_dynwind_pthread_mutex_lock (scm_i_pthread_mutex_t *mutex)
int int
scm_pthread_cond_wait (scm_i_pthread_cond_t *cond, scm_i_pthread_mutex_t *mutex) scm_pthread_cond_wait (scm_i_pthread_cond_t *cond, scm_i_pthread_mutex_t *mutex)
{ {
scm_t_guile_ticket t = scm_leave_guile (); int res;
((scm_i_thread *)t)->held_mutex = mutex; scm_i_thread *t = SCM_I_CURRENT_THREAD;
int res = scm_i_pthread_cond_wait (cond, mutex);
((scm_i_thread *)t)->held_mutex = NULL; t->held_mutex = mutex;
scm_enter_guile (t); res = scm_i_pthread_cond_wait (cond, mutex);
t->held_mutex = NULL;
return res; return res;
} }
@ -1883,11 +1885,13 @@ scm_pthread_cond_timedwait (scm_i_pthread_cond_t *cond,
scm_i_pthread_mutex_t *mutex, scm_i_pthread_mutex_t *mutex,
const scm_t_timespec *wt) const scm_t_timespec *wt)
{ {
scm_t_guile_ticket t = scm_leave_guile (); int res;
((scm_i_thread *)t)->held_mutex = mutex; scm_i_thread *t = SCM_I_CURRENT_THREAD;
int res = scm_i_pthread_cond_timedwait (cond, mutex, wt);
((scm_i_thread *)t)->held_mutex = NULL; t->held_mutex = mutex;
scm_enter_guile (t); res = scm_i_pthread_cond_timedwait (cond, mutex, wt);
t->held_mutex = NULL;
return res; return res;
} }