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().
Do we need to do this?
Alex
On 07/16/2014 04:37 AM, [email protected] 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: [email protected]
> 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: [email protected]
> 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: [email protected]
> 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: [email protected]
> 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: [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel