Front page | perl.perl5.porters |
Postings from August 2008
[perl #57688] PerlIO::via suggest pre-CLOSE method
From:
Kevin Ryde
Date:
August 7, 2008 02:30
Subject:
[perl #57688] PerlIO::via suggest pre-CLOSE method
Message ID:
rt-3.6.HEAD-29762-1218069429-1196.57688-75-0@perl.org
# New Ticket Created by Kevin Ryde
# Please include the string: [perl #57688]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=57688 >
I'm making a layer using PerlIO::via where I'd like to print an "erase"
down through the sub-layer(s) when my layer is either removed by
binmode() or the stream is closed. The POPPED method covers binmode,
but via calls the CLOSE method after it has closed the sublayers (with
the usual PerlIOBase_close()), so it's too late to say goodbye.
It'd be great if there was some sort of PRECLOSE method, or maybe a way
to say that your CLOSE method will take care of closing the sublayers
itself when it's good and ready (as opposed to PerlIOVia_close() doing
that as its first thing).
(I know FLUSH is called before close, but there doesn't seem any way to
know that a particular FLUSH is the last-ever, as opposed to a mere
force-output with the stream staying open.)
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=library
severity=wishlist
---
Site configuration information for perl 5.10.0:
Configured by Debian Project at Wed Jul 16 16:15:58 UTC 2008.
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=linux, osvers=2.6.25.10, archname=i486-linux-gnu-thread-multi
uname='linux ninsei 2.6.25.10 #1 smp preempt tue jul 8 15:47:50 pdt 2008 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.3.1', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/lib64
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0
gnulibc_version='2.7'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib'
Locally applied patches:
-
[perl #57688] PerlIO::via suggest pre-CLOSE method
by Kevin Ryde