summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorgotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-23 17:14:39 +0000
committergotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-23 17:14:39 +0000
commit9cdd5fcb621c4311017e83e870a6c9e45c079c8c (patch)
tree392c49d64361e3d999ee3d8f0b0854bd68550be2 /lib
parentf7294937f69126feb0b8bbccdf07cb17689bc35b (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')
-rw-r--r--lib/webrick/httpservlet/cgihandler.rb6
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