我正在尝试在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;
答案 0 :(得分:2)
这从未得到过回答,所以最终我继续使用PerlPostConfigHandler,它似乎可以接受。我只能假设这是关于在PerlChildInitiHandler中发生的分叉的事情,但是,遗憾地说,我放弃了。希望这可以帮助将来的某个人。
答案 1 :(得分:0)
通常,如果你想在childinit时加载一些东西,并在响应阶段访问它,你就可以将它填充到一个全局包中(比如$ My :: variable ='lols')。我从来没有尝试过像你这样的方式。你尝试过使用我们而不是我的吗?