#90 ✓resolved

The new default Rack::Server kills the FCGI handler with default port

Reported by Julik | January 31st, 2010 @ 02:21 PM

The new Rack::Server defines a :Port default as being 9292. This gets propagated to the FCGI handler and used in

    port = options[:Port] and STDIN.reopen(TCPServer.new(port))

Presumably this is done for FCGI dispatchers running as standalone socket responders, but for me it kills any rackup app running in FCGI. I cannot even catch the exception occurring in the STDIN.reopen. A git blame shows that Scytrin has added the Port option 2 years ago, and it has NOTHING to do with the Port default used by the new Rack::Server.

There is currently no special provision in the Rack::Server to remove the Port default for the FCGI handler. As a result, any FCGI rackup handler currently crashes on start unless it's used with TCP sockets.

That happens because the new Server does not pass it's options to Handler.default so that the handler can delete options. Is it possible to
fix this? When default option processing is taking place FCGI boots up properly.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

People watching this ticket