1
0
Fork 0
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:
gotoyuzo 2004-07-18 16:15:37 +00:00
parent a061fdf407
commit 1ac2033d35
2 changed files with 16 additions and 3 deletions

View file

@ -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)