Hi Chris, On Thu, Mar 03, 2011 at 08:48:09AM -0600, Chris Jones wrote: > As far as I can tell, this can only be turned on via by > calling XrdClientEnv::Put() which as far as I can tell appears to > be impossible to do at the right time. The moment libXrdClient.so > enters the job the static initializer is constructed and in its > constructor it checks the environment variable and sets or does not > set the fork handling based on what ever value XrdClientEnv has at > that time. Since one would have to link with libXrdClient.so in > order to be able to call XrdClientEnv::Put() I don't see how we can > call 'Put' before the library gets loaded and the fork handler is > already set. Yes, I was worried about that, too, but first I wanted to understand: > > What is the reason for making it disabled > > by default? Is there a penalty for using it in the non-fork cases or is > > this just "caution" because it is a new/experimental feature? If it is just new/experimental and "caution" that has it off by default, we can also just flip the default in our build. If there is a significant penalty for using it in non-fork mode, we'll have to play some more elaborate game, perhaps with two libraries/plugins, I guess. Pete ------------------------------------------------------------------------- Peter Elmer E-mail: [log in to unmask] Phone: +41 (22) 767-4644 Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland -------------------------------------------------------------------------