summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2008-09-10 23:32:50 +0200
committerLudovic Courtès <ludo@gnu.org>2008-09-10 23:32:50 +0200
commit7f2a6c387c0610b774c5b90ab080e69845f76dfc (patch)
treeff2048b4b03551c4e5875581c2e1a25e93296e6b
parent6f03035fe80d1c25ffadc42ec59c473402f65f60 (diff)
downloadguile-7f2a6c387c0610b774c5b90ab080e69845f76dfc.tar.gz
Fix broken port merge.
* libguile/ports.c (finalize_port): Don't call `scm_remove_from_port_table ()'. (scm_flush): Don't refer to `scm_i_port_table_size'. (scm_ports_prehistory): Don't allocate `scm_i_port_table'. * libguile/ports.h (scm_i_port_table_room): Remove declaration.
-rw-r--r--libguile/ports.c10
-rw-r--r--libguile/ports.h1
2 files changed, 1 insertions, 10 deletions
diff --git a/libguile/ports.c b/libguile/ports.c
index 04cb83ad0..508777c0c 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -547,7 +547,6 @@ finalize_port (GC_PTR ptr, GC_PTR data)
SCM_SETSTREAM (port, 0);
SCM_CLR_PORT_OPEN_FLAG (port);
- scm_remove_from_port_table (port);
scm_gc_ports_collected++;
}
@@ -1159,7 +1158,7 @@ void
scm_flush (SCM port)
{
long i = SCM_PTOBNUM (port);
- assert ((i >= 0) && (i < scm_i_port_table_size));
+ assert (i >= 0);
(scm_ptobs[i].flush) (port);
}
@@ -1647,13 +1646,6 @@ scm_ports_prehistory ()
{
scm_numptob = 0;
scm_ptobs = NULL;
-
- /* In order for the ports to be collectable, the port table must not be
- scanned by the GC. */
- scm_i_port_table =
- scm_gc_malloc_pointerless (scm_i_port_table_room
- * sizeof (scm_t_port *),
- "port-table");
}
diff --git a/libguile/ports.h b/libguile/ports.h
index 084a55500..48bc643db 100644
--- a/libguile/ports.h
+++ b/libguile/ports.h
@@ -195,7 +195,6 @@ typedef struct scm_t_ptob_descriptor
SCM_API scm_t_ptob_descriptor *scm_ptobs;
SCM_API long scm_numptob;
-SCM_INTERNAL long scm_i_port_table_room;