Re: [PATCH][NUDGE] Documentation fix for perlfunc/shutdown
by Paul Fenwick other posts by this author
Mar 31 2008 2:41PM messages near this date
Re: [PATCH] Documentation fix for perlfunc/shutdown
|
Re: [PATCH][NUDGE] Documentation fix for perlfunc/shutdown
G'day Nicholas/p5p,
This is just a polite nudge regarding the documentation patch regarding
perlfunc/shutdown (attached again for convenience), since I believe that
we've now sorted out the inner workings.
Apologies in advance for slow responses from me this week, or if this has
already been fixed and I've missed it. I'm in Sydney teaching, which is
awesome for catching up with Sydney.pm, and horrible for both my e-mail
response times and my liver (due to Sydney.pm).
Cheerio,
Paul
Paul Fenwick wrote:
> G'day Nicholas/p5p,
>
> Nicholas Clark wrote:
>
> > I don't know. The code looks like this:
>
> [snip]
>
> > PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
>
> Forgive my poor knowledge of Perl's guts, but if I'm reading that
> correctly, we're pushing an integer return value based upon the return
> value of PerlSock_shutdown(). This means we can return '0' if we call
> PerlSock_shutdown but it fails (eg, filehandle isn't a socket).
>
> This is backed up by:
>
> perl -wle'print shutdown(STDIN,1);'
>
> which returns 0. It looks like we only return undef if we reach the
> nuts label, the only path into which is:
>
> if (!io || !IoIFP(io))
> goto nuts;
>
> This implies we return undef only when we don't have a valid filehandle
> (assuming that's what IoIFP is testing).
>
> You've suggested:
>
> > Returns C<1> for success, C<undef> if the first argument is not a
> > valid filehandle, or if the C<shutdown> call failed for any reason, such
> > as the filehandle is not a socket.
>
> So how about we combine everything into:
>
> Returns C<1> for success. In the case of error, returns
> C<undef> if the first argument is not a valid filehandle,
> or returns C<0> and sets C<$!> for any other failure.
>
> A patch for the new wording is attached.
>
> Cheerio,
>
> Paul
>
--
Paul Fenwick <pjf@[...].au> | http://perltraining.com.au/
Director of Training | Ph: +61 3 9354 6001
Perl Training Australia | Fax: +61 3 9354 2681
Thread:
Paul Fenwick
Nicholas Clark
Paul Fenwick
Paul Fenwick
Rafael Garcia-Suarez
|