LocaleRoster: race condition on catalog loading.

Using a vint32 isn't enough to safely decide if the catalog is
initialized or not. Use init_once features instead.
This commit is contained in:
Adrien Destugues
2014-01-19 12:12:57 +01:00
parent 8efd9b8d00
commit fed5e6126b
3 changed files with 27 additions and 17 deletions
+3 -1
View File
@@ -6,6 +6,8 @@
#define _LOCALE_ROSTER_H_
#include <pthread.h>
#include <Entry.h>
#include <String.h>
@@ -98,7 +100,7 @@ protected:
private:
static BCatalog* _GetCatalog(BCatalog* catalog,
vint32* catalogInitStatus);
int32* catalogInitStatus);
status_t _PrepareCatalogEntry(const entry_ref& ref,
BString& signature, BString& context,