On Thu, 24 Apr 2003, Stanislav Sinyagin wrote: > Date: Thu, 24 Apr 2003 00:38:51 -0700 (PDT) > From: Stanislav Sinyagin <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: [rrd-developers] Re: PATCH: rrd_graph / setlocale / librrd > > Hi, > > and what about the Perl binding? Should it be patched too? > >
Well, it has nothing to do with the language bindings themselves. I just wanted to indicate that language-bindings are often used in a very general context. Eg. you might have a perl script using RRD. Both RRD and the program as a wholemight deal with locales. If RRD just sets the locale every time you call rrd_graph it might influence other program parts having set a different locale. Suppose: ----------------------------------------------- #!/usr/bin/perl use RRD; # does this exist? use POSIX; $loc = POSIX::setlocale(LC_ALL, "es_AR.ISO8859-1"); # call RRD::graph(...); # locale might have been changed $now_string = POSIX::strftime "%a %b %e %H:%M:%S %Y", localtime; # $now_string may not be what you want it to be ----------------------------------------------- Actually, in the above example you might want RRD::graph to use the previously set locale, but instead it uses the locale specified in the environment (which might be different from the one desired explicitly). Rule of thumb: A library should not have any unexpected side-effects. To answer the question: I do not see a need to patch anything outside RRD but all programs using librrd ;-) Language bindings themselves should also not have unexpected side effects, thus I do not see an immediate effect on language bindings themselves. They should definitly not call setlocale but leave that job to the programs using the binding. peter > > --- Peter Stamfest <[EMAIL PROTECTED]> wrote: > > I just stumbled across a possible problem in rrd_graph. That function uses > > to call tzset and setlocale. When using librrd this is not desirable, as > > this might override any settings done by the application linking > > with librrd (language bindings come to mind). Besides, it is possibly not > > thread-safe ;-) ). > > > > Here is a patch to move these calls into the rrdtool binary and removing > > them from librrd. > > > > This adds a new requirement for software using librrd: tzset and setlocale > > have to be called from the calling application. > > -- > Unsubscribe mailto:[EMAIL PROTECTED] > Help mailto:[EMAIL PROTECTED] > Archive http://www.ee.ethz.ch/~slist/rrd-developers > WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi > -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/rrd-developers WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
