[Hiki-dev:00541] 0.7-devel-20040627+mod_ruby環境での不具合

Zurück zum Archiv-Index

yoggy yoggy****@zd*****
2004年 6月 30日 (水) 05:54:49 JST


はじめまして,よぎ〜と申します.

0.7-devel-20040627+mod_ruby環境でリロード連射をすると,
設定しているCSSがたまにデフォルトの設定に戻ってしまう
問題について調べてみました.

    参照:
        http://www.sabamiso.net/yoggy/tdiary/?date=20040628#p01
        http://www.sabamiso.net/yoggy/tdiary/?date=20040628#c03
        http://www.sabamiso.net/yoggy/tdiary/?date=20040628#c04

    手元の環境:
        Apache      1.3.31
        Ruby        1.8.1
        mod_ruby    1.2.0
        OS          OpenBlockSS上のLinux(ちょっと遅い)

手元の環境では,hiki/config.rbを下記のように修正すると
問題が発生しなくなるみたいです.

--------------------------------------------------------
$ diff -u config.rb.org config.rb
--- config.rb.org       Wed Jun 30 04:40:20 2004
+++ config.rb   Wed Jun 30 04:39:26 2004
@@ -93,10 +93,11 @@
        def_vars = ''
        variables.each do |var| def_vars << "#{var} = nil\n" end
        eval( def_vars )
-       Thread.start {
+       t = Thread.start {
          $SAFE = 4
          eval( cgi_conf, binding, "(hiki.conf)", 1 )
        }
+       t.join
        variables.each do |var| eval "@#{var} = #{var} if #{var} != nil" end
       rescue IOError, Errno::ENOENT
       end
--------------------------------------------------------

遅いマシン上でHikiを動かしていると,下記のような
症状が発生する可能性があるのではないか?と思います.

    1.$SAFE=4でのeval()が完全に終了しないうちに処理が進んでしまう

    2.1が終了しないうちにConfigクラスから設定を読むと
        デフォルトの値が帰ってくる

また,手元の環境では他にも,

    管理者用パスワード入力画面でOKボタンを連打していると,
    パスワードを入力しなくてもまれに環境設定画面に入ることができる

という現象を確認しています.


Rubyはあまり触ったことがなく,的外れな事を
書いているかもしれませんので,その際にはご指摘ください.

以上,ご報告まで.

-- 
yoggy / yoggy****@zd*****



Hiki-dev メーリングリストの案内
Zurück zum Archiv-Index