Gauche > Archives > 2013/11/27

2013/11/27 03:32:19 UTCyamasushi
#
やはり、この現象はうちだけなんですかね。となるとPCの環境とGaucheの環境のいずれかが原因というわけですね。ぼちぼちトレースしていきます。お騒がせいたしました。
2013/11/27 05:36:53 UTCshiro
#
まだちゃんと見てませんが、LXDEとかpreloadは関係無さそうだし、うちとの違いは32bitと64bitでもしかするとデフォルトのバッファサイズが違うのかなというくらいです。
#
ちなみにGauche-makikiにこの変更を加えてみたらどうなりますか。
#
diff --git a/makiki.scm b/makiki.scm
index bdd5887..f80cf29 100644
--- a/makiki.scm
+++ b/makiki.scm
@@ -568,6 +568,7 @@
     (let1 out (open-output-string)
       (with-input-from-port (request-iport req)
         (^[]
+          (set! (port-buffering (current-input-port)) :full)
           (let1 r (parameterize ([cgi-metavariables
                                   (get-cgi-metavariables req script-name)]
                                  [current-output-port
2013/11/27 07:07:56 UTCyamasushi
#
おお、動きました!ありとうございます。
2013/11/27 15:14:45 UTCshiro
#
なるほど。バッファリングの問題であることはわかりました。Apache経由だとパイプだけどmakikiでは直接ソケットから読むのでそのへんで差があるのかな。根本的にはwww.cgiの方で対応すべきですね。