r7.0.0:LFDS700_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE

From liblfds.org
Revision as of 03:47, 14 December 2015 by Admin (talk | contribs) (Created page with "{{DISPLAYTITLE:r7.0.0:LFDS700_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE}} ==Source File== └───liblfds700 └...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Source File

└───liblfds700
    └───inc
        └───liblfds700
                lfds700_misc.h

Define

#define LFDS700_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE

Notes

This define is of critical importance to the correct operation, by users, of the library.

The basic rule is that any stores performed by a thread never become visible to any other thread, until the thread which performs the stores saves its work to memory, and the thread which is loading these stores updates its local copy of memory.

This define (it's not really a macro, as it takes no arguments) performs that update.

So whenever a thread initializes a data structure, the other threads which wish to use that data structure must issue this define before they do so.

See Also