If there are no comments from others, Will push this today(with the below comment fixed) EOD.
Thanks, Mathi. ----- anders.wid...@ericsson.com wrote: > Yes, it is also my interpretation that the correct way to do it is to > > call tzset() just before localtime_r(). But it puzzles me why tzset() > is > not called from within localtime_r(), if tzset() is thread-safe. > > / Anders Widell > > On 07/17/2014 06:19 AM, Mathivanan Naickan Palanivelu wrote: > > I find the man page cryptic, but the following discussion helps > understand the problems > > that can happen when tzset() is not called: > > > > > http://stackoverflow.com/questions/19170721/real-time-awareness-of-timezone-change-in-localtime-vs-localtime-r > > > > Will call tzset() just before localtime_r. > > > > Mathi. > > > > ----- anders.wid...@ericsson.com wrote: > > > >> Looked a bit further into tzset(), and from what I can see, this > >> function is safe to call in a multi-threaded program: > >> > >> > http://www.gnu.org/software/libc/manual/html_node/Time-Zone-Functions.html > >> > >> So we could actually place the call to tzset() just before each > call > >> to > >> localtime_r(), instead of calling it in a start-up function. The > >> benefit > >> would be that we handle the case when the TZ environment variable > is > >> modified. > >> > >> / Anders Widell > >> > >> On 07/16/2014 04:29 PM, Anders Widell wrote: > >>> Yes, it seems like a good idea to call tzset(), e.g. in some > >> library > >>> function that is always called early at start-up. > >>> > >>> / Anders Widell > >>> > >>> On 07/16/2014 03:57 PM, Alex Jones wrote: > >>>> One comment. From the man page of localtime_r: > >>>> > >>>> According to POSIX.1-2004, localtime() is required to behave as > >> though > >>>> tzset(3) was called, while localtime_r() does not > have > >> this > >>>> require- > >>>> ment. For portable code tzset(3) should be > called > >> before > >>>> local- > >>>> time_r(). > > w> >> > >>>> Do we need to do this? > >>>> > >>>> Alex > >>>> > >>>> On 07/16/2014 04:37 AM, mathi.naic...@oracle.com wrote: > >>>>> Summary: replace localtime with thread safe localtime_r [#958] > >>>>> Review request for Trac Ticket(s): #958 > >>>>> Peer Reviewer(s): ramesh, mahesh, hans, praveen, nagendra, alex > >>>>> Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>> > >>>>> Affected branch(es): 4.3.x, 4.4.x > >>>>> Development branch: <<IF ANY GIVE THE REPO URL>> > >>>>> > >>>>> -------------------------------- > >>>>> Impacted area Impact y/n > >>>>> -------------------------------- > >>>>> Docs n > >>>>> Build system n > >>>>> RPM/packaging n > >>>>> Configuration files n > >>>>> Startup scripts n > >>>>> SAF services y > >>>>> OpenSAF services y > >>>>> Core libraries n > >>>>> Samples n > >>>>> Tests n > >>>>> Other n > >>>>> > >>>>> > >>>>> Comments (indicate scope for each "y" above): > >>>>> --------------------------------------------- > >>>>> localtime is not thread safe and because of this, crashes have > >> been > >>>>> observed in multithreaded opensaf services (for eg:- a crash in > >> SMFD > >>>>> because logtrace uses localtime). > >>>>> The patch series replaces all occurrences of localtime with > >> localtime_r. > >>>>> changeset 8cbe68c97884d76c15e3e65c04c1e677402676c3 > >>>>> Author: mathi.naic...@oracle.com > >>>>> Date: Wed, 16 Jul 2014 13:51:31 +0530 > >>>>> > >>>>> osaf: use thread safe localtime_r instead of localtime [#958] > >> localtime is > >>>>> not thread safe and it can(has) cause crashes in services that > >> are multi > >>>>> threaded. > >>>>> > >>>>> changeset 3123adbd8bd655db83216e17d33ee4ae034496f3 > >>>>> Author: mathi.naic...@oracle.com > >>>>> Date: Wed, 16 Jul 2014 13:52:06 +0530 > >>>>> > >>>>> mds: use thread safe localtime_r instead of localtime [#958] > >> localtime is > >>>>> not thread safe and it can(has) cause crashes in services that > >> are multi > >>>>> threaded. > >>>>> > >>>>> changeset 80940ead9b9233e895a10992d45d7a1b37c2e791 > >>>>> Author: mathi.naic...@oracle.com > >>>>> Date: Wed, 16 Jul 2014 13:55:09 +0530 > >>>>> > >>>>> amf: use thread safe localtime_r instead of localtime [#958] > >> localtime is > >>>>> not thread safe and it can(has) cause crashes in services that > >> are multi > >>>>> threaded. > >>>>> > >>>>> changeset 24833293883ba7c68b7fe1e303cadc05cf361e94 > >>>>> Author: mathi.naic...@oracle.com > >>>>> Date: Wed, 16 Jul 2014 13:55:47 +0530 > >>>>> > >>>>> ntf: use thread safe localtime_r instead of localtime [#958] > >> localtime is > >>>>> not thread safe and it can(has) cause crashes in services that > >> are multi > >>>>> threaded. > >>>>> > >>>>> changeset facf9779833cecd83118a88527e60d235f6af6c8 > >>>>> Author: mathi.naic...@oracle.com > >>>>> Date: Wed, 16 Jul 2014 13:57:46 +0530 > >>>>> > >>>>> plm: use thread safe localtime_r instead of localtime [#958] > >> localtime is > >>>>> not thread safe and it can(has) cause crashes in services that > >> are multi > >>>>> threaded. > >>>>> > >>>>> > >>>>> Complete diffstat: > >>>>> ------------------ > >>>>> osaf/libs/core/common/include/logtrace.h | 2 +- > >>>>> osaf/libs/core/common/logtrace.c | 6 +++++- > >>>>> osaf/libs/core/mds/mds_log.c | 6 +++++- > >>>>> osaf/services/saf/amf/amfwdog/amf_wdog.c | 6 +++++- > >>>>> osaf/services/saf/ntfsv/ntfs/ntfs_evt.c | 6 +++++- > >>>>> osaf/services/saf/plmsv/plms/plms_dbg_utils.c | 6 +++++- > >>>>> osaf/tools/safntf/src/ntfclient.c | 6 +++++- > >>>>> 7 files changed, 31 insertions(+), 7 deletions(-) > >>>>> > >>>>> > >>>>> Testing Commands: > >>>>> ----------------- > >>>>> Start opensaf, observe timestamp wherever(flows) applicable. > >>>>> > >>>>> Testing, Expected Results: > >>>>> -------------------------- > >>>>> Start opensaf, observe timestamp wherever applicable. > >>>>> > >>>>> > >>>>> Conditions of Submission: > >>>>> ------------------------- > >>>>> Ack from Reviewers. > >>>>> > >>>>> Arch Built Started Linux distro > >>>>> ------------------------------------------- > >>>>> mips n n > >>>>> mips64 n n > >>>>> x86 n n > >>>>> x86_64 y y > >>>>> powerpc n n > >>>>> powerpc64 n n > >>>>> > >>>>> > >>>>> Reviewer Checklist: > >>>>> ------------------- > >>>>> [Submitters: make sure that your review doesn't trigger any > >> checkmarks!] > >>>>> > >>>>> Your checkin has not passed review because (see checked > entries): > >>>>> > >>>>> ___ Your RR template is generally incomplete; it has too many > >> blank entries > >>>>> that need proper data filled in. > >>>>> > >>>>> ___ You have failed to nominate the proper persons for review > and > >> push. > >>>>> ___ Your patches do not have proper short+long header > >>>>> > >>>>> ___ You have grammar/spelling in your header that is > >> unacceptable. > >>>>> ___ You have exceeded a sensible line length in your > >> headers/comments/text. > >>>>> ___ You have failed to put in a proper Trac Ticket # into your > >> commits. > >>>>> ___ You have incorrectly put/left internal data in your > >> comments/files > >>>>> (i.e. internal bug tracking tool IDs, product names > etc) > >>>>> > >>>>> ___ You have not given any evidence of testing beyond basic > build > >> tests. > >>>>> Demonstrate some level of runtime or other sanity > testing. > >>>>> > >>>>> ___ You have ^M present in some of your files. These have to be > >> removed. > >>>>> ___ You have needlessly changed whitespace or added whitespace > >> crimes > >>>>> like trailing spaces, or spaces before tabs. > >>>>> > >>>>> ___ You have mixed real technical changes with whitespace and > >> other > >>>>> cosmetic code cleanup changes. These have to be > separate > >> commits. > >>>>> ___ You need to refactor your submission into logical chunks; > >> there is > >>>>> too much content into a single commit. > >>>>> > >>>>> ___ You have extraneous garbage in your review (merge commits > >> etc) > >>>>> ___ You have giant attachments which should never have been > sent; > >>>>> Instead you should place your content in a public tree > to > >> be pulled. > >>>>> ___ You have too many commits attached to an e-mail; resend as > >> threaded > >>>>> commits, or place in a public tree for a pull. > >>>>> > >>>>> ___ You have resent this content multiple times without a clear > >> indication > >>>>> of what has changed between each re-send. > >>>>> > >>>>> ___ You have failed to adequately and individually address all > of > >> the > >>>>> comments and change requests that were proposed in the > >> initial review. > >>>>> ___ You have a misconfigured ~/.hgrc file (i.e. username, email > >> etc) > >>>>> ___ Your computer have a badly configured date and time; > confusing > >> the > >>>>> the threaded patch review. > >>>>> > >>>>> ___ Your changes affect IPC mechanism, and you don't present > any > >> results > >>>>> for in-service upgradability test. > >>>>> > >>>>> ___ Your changes affect user manual and documentation, your > patch > >> series > >>>>> do not contain the patch that updates the Doxygen > manual. > >>>>> > >> > ------------------------------------------------------------------------------ > >>>> Want fast and easy access to all the code in your enterprise? > Index > >> and > >>>> search up to 200,000 lines of code with a free copy of Black > Duck > >>>> Code Sight - the same software that powers the world's largest > >> code > >>>> search on Ohloh, the Black Duck Open Hub! Try it now. > >>>> http://p.sf.net/sfu/bds > >>>> _______________________________________________ > >>>> Opensaf-devel mailing list > >>>> Opensaf-devel@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/opensaf-devel > >>>> > >>>> > >>> > >> > ------------------------------------------------------------------------------ > >>> Want fast and easy access to all the code in your enterprise? > Index > >> and > >>> search up to 200,000 lines of code with a free copy of Black Duck > >>> Code Sight - the same software that powers the world's largest > code > >>> search on Ohloh, the Black Duck Open Hub! Try it now. > >>> http://p.sf.net/sfu/bds > >>> _______________________________________________ > >>> Opensaf-devel mailing list > >>> Opensaf-devel@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/opensaf-devel > >>> > >>> ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel