diff options
author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-23 17:14:39 +0000 |
---|---|---|
committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-23 17:14:39 +0000 |
commit | 9cdd5fcb621c4311017e83e870a6c9e45c079c8c (patch) | |
tree | 392c49d64361e3d999ee3d8f0b0854bd68550be2 /lib/webrick/httpservlet/cgihandler.rb | |
parent | f7294937f69126feb0b8bbccdf07cb17689bc35b (diff) |
* lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.
[ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/webrick/httpservlet/cgihandler.rb')
-rw-r--r-- | lib/webrick/httpservlet/cgihandler.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/webrick/httpservlet/cgihandler.rb b/lib/webrick/httpservlet/cgihandler.rb index 70708610d1..aa92bb4a2c 100644 --- a/lib/webrick/httpservlet/cgihandler.rb +++ b/lib/webrick/httpservlet/cgihandler.rb @@ -19,7 +19,8 @@ module WEBrick class CGIHandler < AbstractServlet Ruby = File::join(::Config::CONFIG['bindir'], ::Config::CONFIG['ruby_install_name']) - CGIRunner = "#{Ruby} #{Config::LIBDIR}/httpservlet/cgi_runner.rb" + Ruby << ::Config::CONFIG['EXEEXT'] + CGIRunner = "\"#{Ruby}\" \"#{Config::LIBDIR}/httpservlet/cgi_runner.rb\"" def initialize(server, name) super @@ -32,7 +33,7 @@ module WEBrick data = nil status = -1 - cgi_in = IO::popen(@cgicmd, "w") + cgi_in = IO::popen(@cgicmd, "wb") cgi_out = Tempfile.new("webrick.cgiout.", @tempdir) cgi_err = Tempfile.new("webrick.cgierr.", @tempdir) begin @@ -55,6 +56,7 @@ module WEBrick ensure cgi_in.close status = $? >> 8 + sleep 0.1 if /mswin/ =~ RUBY_PLATFORM data = cgi_out.read cgi_out.close(true) if errmsg = cgi_err.read |