Go to the source code of this file.
◆ ZyanThreadGetCurrentThread()
Returns the handle of the current thread.
- Parameters
-
thread | Receives the handle of the current thread. |
- Returns
- A zyan status code.
◆ ZyanThreadGetCurrentThreadId()
Returns the unique id of the current thread.
- Parameters
-
thread_id | Receives the unique id of the current thread. |
- Returns
- A zyan status code.
◆ ZyanThreadTlsAlloc()
Allocates a new Thread Local Storage (TLS) slot.
- Parameters
-
index | Receives the TLS slot index. |
destructor | A pointer to a destructor callback which is invoked to finalize the data in the TLS slot or ZYAN_NULL , if not needed. |
The maximum available number of TLS slots is implementation specific and different on each platform:
- Windows
- A total amount of 128 slots per process are guaranteed
- POSIX
- A total amount of 128 slots per process are guaranteed
- Some systems guarantee larger amounts like e.g. 1024 slots per process
Note that the invocation rules for the destructor callback are implementation specific and different on each platform:
- Windows
- The callback is invoked when a thread exits
- The callback is invoked when the process exits
- The callback is invoked when the TLS slot is released
- POSIX
- The callback is invoked when a thread exits and the stored value is not null
- The callback is NOT invoked when the process exits
- The callback is NOT invoked when the TLS slot is released
- Returns
- A zyan status code.
◆ ZyanThreadTlsFree()
Releases a Thread Local Storage (TLS) slot.
- Parameters
-
- Returns
- A zyan status code.
◆ ZyanThreadTlsGetValue()
Returns the value inside the given Thread Local Storage (TLS) slot for the calling thread.
- Parameters
-
index | The TLS slot index. |
data | Receives the value inside the given Thread Local Storage (TLS) slot for the calling thread. |
- Returns
- A zyan status code.
◆ ZyanThreadTlsSetValue()
Set the value of the given Thread Local Storage (TLS) slot for the calling thread.
- Parameters
-
index | The TLS slot index. |
data | The value to store inside the given Thread Local Storage (TLS) slot for the calling thread |
- Returns
- A zyan status code.