mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/webrick/httpservlet/cgihandler.rb
(WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment variable to CGI process on Windows native platforms. [ruby-dev:23936] * lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIhandler#do_GET): use $?.exitstatus and refine log message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a061fdf407
commit
1ac2033d35
2 changed files with 16 additions and 3 deletions
|
@ -41,6 +41,9 @@ module WEBrick
|
|||
meta = req.meta_vars
|
||||
meta["SCRIPT_FILENAME"] = @script_filename
|
||||
meta["PATH"] = @config[:CGIPathEnv]
|
||||
if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
|
||||
meta["SystemRoot"] = ENV["SystemRoot"]
|
||||
end
|
||||
dump = Marshal.dump(meta)
|
||||
|
||||
cgi_in.write("%8d" % cgi_out.path.size)
|
||||
|
@ -55,8 +58,8 @@ module WEBrick
|
|||
end
|
||||
ensure
|
||||
cgi_in.close
|
||||
status = $? >> 8
|
||||
sleep 0.1 if /mswin/ =~ RUBY_PLATFORM
|
||||
status = $?.exitstatus
|
||||
sleep 0.1 if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
|
||||
data = cgi_out.read
|
||||
cgi_out.close(true)
|
||||
if errmsg = cgi_err.read
|
||||
|
@ -74,7 +77,7 @@ module WEBrick
|
|||
data = "" unless data
|
||||
raw_header, body = data.split(/^[\xd\xa]+/on, 2)
|
||||
raise HTTPStatus::InternalServerError,
|
||||
"The server encontered a script error." if body.nil?
|
||||
"Premature end of script headers: #{@script_filename}" if body.nil?
|
||||
|
||||
begin
|
||||
header = HTTPUtils::parse_header(raw_header)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue