hi...
the following registry script only prints "foo" for me using bleedperl...
my $r = shift;
$r->send_http_header('text/plain');
$r->print('foo');
print 'bar';
I think it started around the time Doug sent this message along, but I can't
be sure - it's definitely been a while, though. sorry it took me so long to
report it, but got caught up in other things...
I tried the original version and Doug's patch (since bleedperl looks
different already) but none seem to solve the problem.
maybe something needs to be fixed at the Apache::PRINT level? my bleedperl
seems rather broken these days (none of the tests pass) even after rsync'ing
from scratch, so it may be just me but I thought I'd bring it up anyway...
--Geoff
important perl -V stuff
config_args='-des -Dusethreads -Dprefix=/src/bleedperl -Doptimize=-g
-Dusedevel -Dinstallusrbinperl -Uversiononly'
hint=previous, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
> -----Original Message-----
> From: Doug MacEachern [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 01, 2001 1:06 PM
> To: [EMAIL PROTECTED]
> Subject: [patch] ithreads + refto bug (fwd)
>
>
> fyi, this was the cause of modules/cgi #3 test failure..
>
> ---------- Forwarded message ----------
> Date: Wed, 1 Aug 2001 09:47:28 -0700 (PDT)
> From: Doug MacEachern <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: [patch] ithreads + refto bug
>
> strange bug, happens in both 5.6.x and bleedperl, the
> following script:
>
> package Foo;
>
> use strict;
>
> sub TIEHANDLE { bless {} }
>
> my $cnt = 'a';
>
> sub READ {
> $_[1] = $cnt++;
> 1;
> }
>
> sub do_read {
> my $fh = shift;
>
> read $fh, my $buff, 1;
> print "->$buff<-\n";
> }
>
> $|=1;
>
> tie *STDIN, 'Foo';
>
> read STDIN, my $buff, 1;
> print "=>$buff<=\n";
>
> do_read(\*STDIN);
>
> untie *STDIN;
>
> prints:
> =>a<=
>
> then in the call to do_read(\*STDIN), $fh is no longer tied.
> with vanilla (non-ithreads) Perl, it prints the expected:
> =>a<=
> ->b<-
>
> the bug seems to be S_refto (called by pp_srefgen), which the
> patch below
> fixes, all tests pass.
>
> Index: pp.c
> ===================================================================
> RCS file: /usr/local/cvs_repository/perl-current-mirror/pp.c,v
> retrieving revision 1.1.1.33
> diff -u -r1.1.1.33 pp.c
> --- pp.c 2001/07/31 15:56:35 1.1.1.33
> +++ pp.c 2001/08/01 16:37:16
> @@ -467,7 +467,7 @@
> SvTEMP_off(sv);
> (void)SvREFCNT_inc(sv);
> }
> - else if (SvPADTMP(sv))
> + else if (SvPADTMP(sv) && !(isGV(sv) && GvIN_PAD(sv)))
> sv = newSVsv(sv);
> else {
> SvTEMP_off(sv);
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]