2 # cgi_runner.rb -- CGI launcher.
4 # Author: IPR -- Internet Programming with Ruby -- writers
5 # Copyright (c) 2000 TAKAHASHI Masayoshi, GOTOU YUUZOU
6 # Copyright (c) 2002 Internet Programming with Ruby writers. All rights
9 # $IPR: cgi_runner.rb,v 1.9 2002/09/25 11:33:15 gotoyuzo Exp $
14 tmp = io.sysread(size)
24 len = sysread(STDIN, 8).to_i
25 out = sysread(STDIN, len)
26 STDOUT.reopen(open(out, "w"))
28 len = sysread(STDIN, 8).to_i
29 err = sysread(STDIN, len)
30 STDERR.reopen(open(err, "w"))
32 len = sysread(STDIN, 8).to_i
33 dump = sysread(STDIN, len)
34 hash = Marshal.restore(dump)
35 ENV.keys.each{|name| ENV.delete(name) }
36 hash.each{|k, v| ENV[k] = v if v }
38 dir = File::dirname(ENV["SCRIPT_FILENAME"])
41 if interpreter = ARGV[0]
42 exec(interpreter, ENV["SCRIPT_FILENAME"])
45 exec ENV["SCRIPT_FILENAME"]