Bug#543731: perl_5.10.1~rc2-1(hppa/experimental): FTBFS: Test lib/autodie/t/flock fails

Paul Fenwick pjf at perltraining.com.au
Thu Aug 27 07:39:34 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

G'day Niko / All,

Niko Tyni wrote:

> The problem is that errno.h has separate values for EAGAIN (11) and
> EWOULDBLOCK (246) on hppa and the kernel is returning EAGAIN (contrary
> to the flock(2) manual page.) Some background for this can be found in

> I suppose that regardless of whether this is ever fixed on the kernel
> and/or documentation side, t/flock.t and lib/Fatal.pm need to check for
> both EWOULDBLOCK and EAGAIN for compatibility.

Drat.  EAGAIN actually makes me feel funny, because I've always interpreted
it to mean "I got distracted there, please try that again".  However in this
case, we *don't* want to try again, because we'll spin the CPU trying to get
a lock in non-blocking mode.

So ideally I'd only want to check for EAGAIN on hppa architectures.  That
should be easy enough for me to detect at compile-time, however I don't have
a PA-RISC box handy to see how they identify themselves.

If you do have one, could you give the output of:

	perl -MConfig -le'print $Config{archanme}'

> I'm sorry we didn't find out about this quite in time before the 5.10.1
> release...

Well, I'm still glad we've got a test that picked this up.  I'm sure it will
save someone the pain of tracking down a very subtle bug in the future.

Autodie is a dual-life module, so I can push a new version to the CPAN
relatively quickly.

Many thanks for the bug report!

	Paul

- --
Paul Fenwick <pjf at perltraining.com.au> | http://perltraining.com.au/
Director of Training                   | Ph:  +61 3 9354 6001
Perl Training Australia                | Fax: +61 3 9354 2681
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkqWOC4ACgkQx5N6j7FHnlWraACdGx5GXnQa5Q8pFJLEiStUPTpI
h/gAniM2QcKX57/JIdeu/MPOW8uCR8UR
=6HPz
-----END PGP SIGNATURE-----






More information about the Perl-maintainers mailing list