// // 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; }