Sha256: 74398150678fa8cb3ae2ca371c9064cc42b06db85b5b81f7e5deb491c85a6c48
Contents?: true
Size: 932 Bytes
Versions: 64
Compression:
Stored size: 932 Bytes
Contents
#include <debase_internals.h> static locked_thread_t *locked_head = NULL; static locked_thread_t *locked_tail = NULL; extern int is_in_locked(VALUE thread) { locked_thread_t *node; if(!locked_head) return 0; for(node = locked_head; node != locked_tail; node = node->next) { if(node->thread == thread) return 1; } return 0; } extern void add_to_locked(VALUE thread) { locked_thread_t *node; if(is_in_locked(thread)) return; node = ALLOC(locked_thread_t); node->thread = thread; node->next = NULL; if(locked_tail) locked_tail->next = node; locked_tail = node; if(!locked_head) locked_head = node; } extern VALUE remove_from_locked() { VALUE thread; locked_thread_t *node; if(locked_head == NULL) return Qnil; node = locked_head; locked_head = locked_head->next; if(locked_tail == node) locked_tail = NULL; thread = node->thread; xfree(node); return thread; }
Version data entries
64 entries across 53 versions & 3 rubygems