4

中に構成ファイルをハッシュにロードしてPerlChildInitHandlerから、からの値にアクセスしようとしていますPerlResponseHandler。ただし、プロセス番号は同じですが、child_init()呼び出し中に変更された変数は、呼び出されるとデフォルト値に戻るようですhandler()

基本的なシナリオは次のとおりです。

package StartupLog;

# the variable I'm testing
my $sticky = 0;

sub child_init {
    $sticky = 1;
    return 0;
}

sub handler {
    warn __PACKAGE__ . " sticky = $sticky\n";    ### always says "0" but should say "1"
    return 0;
}
1;
4

2 に答える 2

2

これには答えられなかったので、最終的にはPerlPostConfigHandlerの使用に移りました。これは問題なく機能しているようです。私はそれがPerlChildInitiHandlerで起こるフォークについての何かであると推測することができるだけですが、申し訳ありませんが、私はあきらめました。これが将来誰かに役立つことを願っています。

于 2010-09-13T20:05:00.557 に答える
0

一般に、childinit時に何かをロードし、応答フェーズでそれにアクセスする場合は、グローバルなパッケージ($ My :: variable ='lols'など)に詰め込みます。私はあなたがここにいるようにそれをやろうとしたことはありません。多分私の代わりに私たちを使ってみましたか?

于 2010-09-14T22:39:51.520 に答える