summaryrefslogtreecommitdiff
path: root/libguile/ports.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/ports.c')
-rw-r--r--libguile/ports.c22
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;
}
}