cvsuser 03/08/16 08:28:32
Modified: classes parrotio.pmc
io io_unix.c
languages/imcc/t/syn file.t
t/pmc io.t
Log:
io fixes by Juergen Boemmels
Revision Changes Path
1.7 +1 -3 parrot/classes/parrotio.pmc
Index: parrotio.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/parrotio.pmc,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -w -r1.6 -r1.7
--- parrotio.pmc 30 Jul 2003 14:59:48 -0000 1.6
+++ parrotio.pmc 16 Aug 2003 15:28:28 -0000 1.7
@@ -1,7 +1,7 @@
/* ParrotIO.pmc
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: parrotio.pmc,v 1.6 2003/07/30 14:59:48 leo Exp $
+ * $Id: parrotio.pmc,v 1.7 2003/08/16 15:28:28 leo Exp $
* Overview:
* These are the vtable functions for Parrot IO
* Data Structure and Algorithms:
@@ -75,8 +75,6 @@
void init () {
PObj_active_destroy_SET(SELF);
- PObj_needs_early_DOD_SET(SELF);
- interpreter->has_early_DOD_PMCs = 1;
}
void destroy () {
1.30 +1 -8 parrot/io/io_unix.c
Index: io_unix.c
===================================================================
RCS file: /cvs/public/parrot/io/io_unix.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -w -r1.29 -r1.30
--- io_unix.c 12 Aug 2003 18:56:50 -0000 1.29
+++ io_unix.c 16 Aug 2003 15:28:30 -0000 1.30
@@ -1,7 +1,7 @@
/* io_unix.c
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: io_unix.c,v 1.29 2003/08/12 18:56:50 scog Exp $
+ * $Id: io_unix.c,v 1.30 2003/08/16 15:28:30 leo Exp $
* Overview:
* This is the Parrot IO UNIX layer. May be changed to
* include other platforms if that platform is similar
@@ -90,24 +90,17 @@
if (d != NULL && d->table != NULL) {
ParrotIO *io;
- INTVAL has_early = interpreter->has_early_DOD_PMCs;
-
io = PIO_unix_fdopen(interpreter, layer, STDIN_FILENO, PIO_F_READ);
if (!io) return -1;
PIO_STDIN(interpreter) = new_io_pmc(interpreter, io);
- PObj_needs_early_DOD_CLEAR(PIO_STDIN(interpreter));
io = PIO_unix_fdopen(interpreter, layer, STDOUT_FILENO, PIO_F_WRITE);
if (!io) return -1;
PIO_STDOUT(interpreter) = new_io_pmc(interpreter, io);
- PObj_needs_early_DOD_CLEAR(PIO_STDOUT(interpreter));
io = PIO_unix_fdopen(interpreter, layer, STDERR_FILENO, PIO_F_WRITE);
if (!io) return -1;
PIO_STDERR(interpreter) = new_io_pmc(interpreter, io);
- PObj_needs_early_DOD_CLEAR(PIO_STDERR(interpreter));
-
- interpreter->has_early_DOD_PMCs = has_early;
return 0;
}
1.6 +1 -1 parrot/languages/imcc/t/syn/file.t
Index: file.t
===================================================================
RCS file: /cvs/public/parrot/languages/imcc/t/syn/file.t,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -w -r1.5 -r1.6
--- file.t 16 Aug 2003 14:52:48 -0000 1.5
+++ file.t 16 Aug 2003 15:28:31 -0000 1.6
@@ -264,6 +264,6 @@
END {
unlink $file;
- #unlink "temp.imc";
+ unlink "temp.imc";
unlink "temp.pbc";
}
1.12 +1 -0 parrot/t/pmc/io.t
Index: io.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/io.t,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -r1.11 -r1.12
--- io.t 15 Aug 2003 11:56:33 -0000 1.11
+++ io.t 16 Aug 2003 15:28:32 -0000 1.12
@@ -18,6 +18,7 @@
output_is(<<'CODE', <<'OUTPUT', "timely destruction");
interpinfo I0, 2 # DOD runs
open P0, "temp.file", ">"
+ needs_destroy P0
print P0, "a line\n"
null P0 # kill it
sweep 0 # a lazy DOD has to close the PIO