diff options
author | Eric Wong <normalperson@yhbt.net> | 2009-09-27 20:48:20 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2009-09-27 20:48:20 -0700 |
commit | 79c270990ec3a657c23510ee4f2f7f2b4c2c748f (patch) | |
tree | e760846dc5446b4a903cd7c7c8c6756fac8f6b54 /lib/unicorn/app/inetd.rb | |
parent | 3b0fcbf8baafbb88b2f15631b949fde9c8acff3b (diff) | |
download | unicorn-79c270990ec3a657c23510ee4f2f7f2b4c2c748f.tar.gz |
We've started using magic comments to ensure any strings we create are binary instead. Additionally, ensure we create any StringIO objects with an explicit string (which default to binary) to ensure the StringIO object is binary. This is because StringIO.new (with no arguments) will always use the process-wide default encoding since it does not know about magic comments (and couldn't, really...)
Diffstat (limited to 'lib/unicorn/app/inetd.rb')
-rw-r--r-- | lib/unicorn/app/inetd.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/unicorn/app/inetd.rb b/lib/unicorn/app/inetd.rb index f751a33..9bfa7cb 100644 --- a/lib/unicorn/app/inetd.rb +++ b/lib/unicorn/app/inetd.rb @@ -33,13 +33,12 @@ module Unicorn::App inp_pid = fork { input = env['rack.input'] [ err_rd, out_rd ].each { |io| io.close } - buf = Unicorn::Z.dup # this is dependent on input.read having readpartial semantics: - while input.read(16384, buf) + buf = input.read(16384) + begin in_wr.write(buf) - end - in_wr.close + end while input.read(16384, buf) } in_wr.close self.pid_map = { |