This still hangs for me on linux 5.8.4 and mac 5.8.6 at least.
perl -e 'use Module::Build;
my $a = Module::Build->prompt("foo", "a"); warn $a;' > /dev/null
Again, why fileno and not this?
return $ENV{PERL_MM_USE_DEFAULT} ||
( !$self->_is_interactive && (-t STDIN || eof(STDIN));
Actually, what I don't understand is why it doesn't hang for everybody.
--Eric
---------- Forwarded Message: ----------
Subject: [svn:Module-Build] r9182 - in Module-Build/trunk: .
lib/Module/Build
Date: Thursday 01 March 2007 04:35 am
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Author: kwilliams
Date: Thu Mar 1 04:35:28 2007
New Revision: 9182
Modified:
Module-Build/trunk/Changes
Module-Build/trunk/lib/Module/Build/Base.pm
Log:
Fix a hang in prompt()
Modified: Module-Build/trunk/Changes
=======================================================================
======= --- Module-Build/trunk/Changes (original)
+++ Module-Build/trunk/Changes Thu Mar 1 04:35:28 2007
@@ -1,5 +1,8 @@
Revision history for Perl extension Module::Build.
+ - Improved our prompt() method, which could sometimes hang before the
+ user got a chance to see a prompt. [Andreas Koenig]
+
- Added DragonflyBSD to the list of known Unix OSes.
- get_action_docs() dies on error rather than twiddling $@
Modified: Module-Build/trunk/lib/Module/Build/Base.pm
=======================================================================
======= --- Module-Build/trunk/lib/Module/Build/Base.pm (original)
+++ Module-Build/trunk/lib/Module/Build/Base.pm Thu Mar 1 04:35:28
2007 @@ -471,7 +471,8 @@
sub _is_unattended {
my $self = shift;
- return $ENV{PERL_MM_USE_DEFAULT} || ( !$self->_is_interactive && eof
STDIN ); + return $ENV{PERL_MM_USE_DEFAULT}
+ || ( !$self->_is_interactive && !defined fileno STDIN );
}
sub _readline {
-------------------------------------------------------
--
We who cut mere stones must always be envisioning cathedrals.
--Quarry worker's creed
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------