Hash :
fafd033e
Author :
Date :
2010-10-14T18:20:24
Added NSPR support for thread-local storage. Patch submitted by vladimirv. I have slightly modified the patch to still define ANGLE_OS_WIN and ANGLE_OS_POSIX. BUG=54 Review URL: http://codereview.appspot.com/2497041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@454 736b8ea6-26fd-11df-bfd4-992fa37f6226
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
//
// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
//
// This file contains the nspr specific functions
//
#include "compiler/osinclude.h"
//
// Thread Local Storage Operations
//
OS_TLSIndex OS_AllocTLSIndex()
{
PRUintn index;
PRStatus status = PR_NewThreadPrivateIndex(&index, NULL);
if (status) {
assert(0 && "OS_AllocTLSIndex(): Unable to allocate Thread Local Storage");
return OS_INVALID_TLS_INDEX;
}
return index;
}
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue)
{
if (nIndex == OS_INVALID_TLS_INDEX) {
assert(0 && "OS_SetTLSValue(): Invalid TLS Index");
return false;
}
return PR_SetThreadPrivate(nIndex, lpvValue) == 0;
}
bool OS_FreeTLSIndex(OS_TLSIndex nIndex)
{
// Can't delete TLS keys with nspr
return true;
}