Print

Print


2011/3/3 Peter Elmer <[log in to unmask]>:
>  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:

   Well, I don't really know your framework.

>> > 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.

   Please look here:
   https://savannah.cern.ch/bugs/index.php?78973

Cheers,
   Lukasz