On Fri, 28 May 2010, Pavan Kumar Sunkara wrote: > Jakub Narebski wrote; > > > > 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? Gitweb itself requires even higher version of Perl for its utf-8 support: at least v5.8.0 for Encode module, and IIRC at least v5.8.3 or even v5.8.6 for correct handling of utf-8. Perl v5.8.6 was released in 2006. > > > +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 load the module and checks the port, > if not it will just continue. > > Just an idea for a common usage. The above solution is universal, and works for any web server. We can add web server specific branch in httpd_is_ready() to use e.g. server_startup hook (and some blocking mechanism) for server(s) which support it. -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html