1 #ifndef RUBY_THREAD_WIN32_H
2 #define RUBY_THREAD_WIN32_H
19 #define USE_VM_CLOCK 1
21 WINBASEAPI BOOL WINAPI
22 TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection);
25 struct cond_event_entry *next;
26 struct cond_event_entry *prev;
30 HANDLE interrupt_event;
37 typedef DWORD native_tls_key_t;
40 native_tls_get(native_tls_key_t key)
42 void *ptr = TlsGetValue(key);
43 if (UNLIKELY(ptr == NULL)) {
44 rb_bug(
"TlsGetValue() returns NULL");
50 native_tls_set(native_tls_key_t key,
void *ptr)
52 if (UNLIKELY(TlsSetValue(key, ptr) == 0)) {
53 rb_bug(
"TlsSetValue() error");
57 RUBY_SYMBOL_EXPORT_BEGIN
59 RUBY_SYMBOL_EXPORT_END
#define RUBY_EXTERN
Declaration of externally visible global variables.
void rb_bug(const char *fmt,...)
Interpreter panic switch.