]> pd.if.org Git - pdclib/blob - platform/win32/functions/threads/tss_delete.c
PDCLib includes with quotes, not <>.
[pdclib] / platform / win32 / functions / threads / tss_delete.c
1 #ifndef REGTEST\r
2 #include <windows.h>\r
3 #include <threads.h>\r
4 #include <stdlib.h>\r
5 \r
6 extern struct _PDCLIB_tss * _PDCLIB_tss_first;\r
7 void tss_delete( tss_t key )\r
8 {\r
9     struct _PDCLIB_tss * prev = NULL;\r
10     struct _PDCLIB_tss * cur  = _PDCLIB_tss_first;\r
11     while(cur) {\r
12         if(cur == key) {\r
13             if(prev) {\r
14                 prev->_Next = key->_Next;\r
15             } else {\r
16                 _PDCLIB_tss_first = key->_Next;\r
17             }\r
18 \r
19             TlsFree(key->_Key);\r
20             free(key);\r
21             return;\r
22         }\r
23     }\r
24 \r
25     // Not actually a TSS key\r
26     abort();\r
27 }\r
28 #endif\r
29 \r
30 #ifdef TEST\r
31 #include "_PDCLIB_test.h"\r
32 \r
33 /* Tested in tss_get.c */\r
34 int main( void )\r
35 {\r
36     return TEST_RESULTS;\r
37 }\r
38 \r
39 #endif