diff options
Diffstat (limited to 'libguile/ports.c')
-rw-r--r-- | libguile/ports.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libguile/ports.c b/libguile/ports.c index b0ede6610..ffa01f71f 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -493,7 +493,7 @@ scm_t_port **scm_i_port_table; long scm_i_port_table_size = 0; /* Number of ports in scm_i_port_table. */ long scm_i_port_table_room = 20; /* Size of the array. */ -pthread_mutex_t scm_i_port_table_mutex = PTHREAD_MUTEX_INITIALIZER; +SCM_GLOBAL_MUTEX (scm_i_port_table_mutex); /* This function is not and should not be thread safe. */ @@ -764,9 +764,9 @@ SCM_DEFINE (scm_close_port, "close-port", 1, 0, 0, rv = (scm_ptobs[i].close) (port); else rv = 0; - scm_pthread_mutex_lock (&scm_i_port_table_mutex); + scm_mutex_lock (&scm_i_port_table_mutex); scm_remove_from_port_table (port); - pthread_mutex_unlock (&scm_i_port_table_mutex); + scm_mutex_unlock (&scm_i_port_table_mutex); SCM_CLR_PORT_OPEN_FLAG (port); return scm_from_bool (rv >= 0); } @@ -815,18 +815,18 @@ scm_c_port_for_each (void (*proc)(void *data, SCM p), void *data) can change arbitrarily (from a GC, for example). So we first collect the ports into a vector. -mvo */ - scm_pthread_mutex_lock (&scm_i_port_table_mutex); + scm_mutex_lock (&scm_i_port_table_mutex); n = scm_i_port_table_size; - pthread_mutex_unlock (&scm_i_port_table_mutex); + scm_mutex_unlock (&scm_i_port_table_mutex); ports = scm_c_make_vector (n, SCM_BOOL_F); - scm_pthread_mutex_lock (&scm_i_port_table_mutex); + scm_mutex_lock (&scm_i_port_table_mutex); if (n > scm_i_port_table_size) n = scm_i_port_table_size; for (i = 0; i < n; i++) SCM_SIMPLE_VECTOR_SET (ports, i, scm_i_port_table[i]->port); - pthread_mutex_unlock (&scm_i_port_table_mutex); + scm_mutex_unlock (&scm_i_port_table_mutex); for (i = 0; i < n; i++) proc (data, SCM_SIMPLE_VECTOR_REF (ports, i)); @@ -938,13 +938,13 @@ SCM_DEFINE (scm_flush_all_ports, "flush-all-ports", 0, 0, 0, { size_t i; - scm_pthread_mutex_lock (&scm_i_port_table_mutex); + scm_mutex_lock (&scm_i_port_table_mutex); for (i = 0; i < scm_i_port_table_size; i++) { if (SCM_OPOUTPORTP (scm_i_port_table[i]->port)) scm_flush (scm_i_port_table[i]->port); } - pthread_mutex_unlock (&scm_i_port_table_mutex); + scm_mutex_unlock (&scm_i_port_table_mutex); return SCM_UNSPECIFIED; } #undef FUNC_NAME @@ -1638,7 +1638,7 @@ write_void_port (SCM port SCM_UNUSED, static SCM scm_i_void_port (long mode_bits) { - scm_pthread_mutex_lock (&scm_i_port_table_mutex); + scm_mutex_lock (&scm_i_port_table_mutex); { SCM answer = scm_new_port_table_entry (scm_tc16_void_port); scm_t_port * pt = SCM_PTAB_ENTRY(answer); @@ -1647,7 +1647,7 @@ scm_i_void_port (long mode_bits) SCM_SETSTREAM (answer, 0); SCM_SET_CELL_TYPE (answer, scm_tc16_void_port | mode_bits); - pthread_mutex_unlock (&scm_i_port_table_mutex); + scm_mutex_unlock (&scm_i_port_table_mutex); return answer; } } |