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
-
Julik February 1st, 2010 @ 11:25 AM
I've made a fix with a test here http://github.com/julik/rack/commit/4f8c2921bc5580ae79adf81134fcea4...
-
chneukirchen (at gmail) February 7th, 2010 @ 10:36 PM
- State changed from new to resolved
Applied.
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.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป