From: Pavan Kumar Sunkara Date: Fri, 28 May 2010 19:31:42 GMT Subject: Re: [PATCH 2/3] git-instaweb: Wait for server to start before running web browser Message-ID: In-Reply-To: <1275073885-26537-3-git-send-email-jnareb@gmail.com> > It uses IO::Socket::INET module, which is core Perl module since v5.6.0. Core module means it will be installed by default in v5.6. But what happens in case of lower versions of perl ? > +httpd_is_ready () { > +       "$PERL" -MIO::Socket::INET -e " > +local \$| = 1; # turn on autoflush > +exit if (IO::Socket::INET->new('127.0.0.1:$port')); > +print 'Waiting for \'$httpd\' to start ..'; > +do { > +       print '.'; > +       sleep(1); > +} until (IO::Socket::INET->new('127.0.0.1:$port')); > +print qq! (done)\n!; > +" > +} > + One of the solution is to add a web server specific branch in httpd_is_ready(). So, if the server is plackup it loads the module and checks the port, if not it will just continue. Just an Idea for a common usage. Thanks, Pavan.