24 bool didNotExist =
false;
28 atexit (GlobalGoalKeeper::CleanUp);
45 CreateGlobalGoalie ();
54 CreateGlobalGoalie ();
static void CreateAndStartBlock(const KKStr &_name, volatile GoalKeeperPtr &_newGoalKeeper, bool &_didNotExistYet)
Create a GoalKeeper object and avoid a race condition doing it.
static void Destroy(volatile GoalKeeperPtr &_goalKeeperInstance)
Destroys an existing instance of GoalKeeper.
void StartBlock()
Initiates a Block as long as another thread has not already locked this object.
void EndBlock()
Ends the block and allows other threads to pass through StatBlock.
Maintains one instance of a GoalKeeper object that can be used anywhere in the application.