[Date Prev][Date Next]
> I'm inclined towards defining a private function, with an interface
> analogous to that of the tread-safe function, and use it all times,
> re-entrant as appropriate. If the re-entrant function is available, a
> #define could be used instead. Otherwise, the wrapper would take care of
> the rest. This would solve the issue once for all, and clean up quite a
> bit the code, as any mutex would no longer need to be exposed.
That would mean moving lutil_gettime() (and its caller lutil_csnstr()?)
to libldap, so libldap_r can use the mutex.
But not exposing gmtime_mutex would break third-partly modules that
use gmtime()/localtime() correctly, which means protecting them with
gmtime_mutex. We could however register gmtime_mutex in libldap,
similar to registering which memory functions to use.