|
From: | Chip Seraphine |
Subject: | Race condition in state/allclasses |
Date: | Wed, 09 Feb 2005 10:33:37 -0600 |
User-agent: | Mozilla Thunderbird 1.0 (X11/20041208) |
I've been having mysterious module failures on some of my hosts for a while, and I finally found out the cause.
My modules get their list of defined classes by parsing $(workdir)/state/allclasses. Unfortunately, the contents of that file do not always reflect the actual classes of their parent cfagent process! If the cfagent restarted a cfexecd or cfservd earlier in the run, then the resulting 'cfagent -z' child processes appear to stomp on the allclasses file, causing the module to pick up a very minimalist (and incorrect) set of classes.
Could we have the 'detection' flags that cfexecd and cfservd use suppress updating allclasses? I can't think of any reason why they would be needed, and just slow down those 'quickie' variable-getting runs.
-- Chip Seraphine Unix Administrator TradeLink, LLC 312-264-2048 chip@trdlnk.com
[Prev in Thread] | Current Thread | [Next in Thread] |