Re: [PATCH 2/3] git-instaweb: Wait for server to start before running web browser
- From
Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
- Date
- May 28, 2010, 19:31 UTC
- Message-ID
- <AANLkTilpiwy2NFhOycoMBeYZFZDuVN5yFt8nIiIoYTjL@mail.gmail.com>
- 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 ?
Show 13 quoted lines
> +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.