File: threading.h

package info (click to toggle)
ruby-ferret 0.11.8.4%2Bdebian-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 4,368 kB
  • sloc: ansic: 69,786; ruby: 8,131; makefile: 5
file content (31 lines) | stat: -rw-r--r-- 1,094 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef FRT_THREADING_H
#define FRT_THREADING_H

#include "hash.h"
#define UNTHREADED 1

typedef void * frt_mutex_t;
typedef struct FrtHash *frt_thread_key_t;
typedef int frt_thread_once_t;
#define FRT_MUTEX_INITIALIZER NULL
#define FRT_MUTEX_RECURSIVE_INITIALIZER NULL
#define FRT_THREAD_ONCE_INIT 1;
#define frt_mutex_init(a, b)
#define frt_mutex_lock(a)
#define frt_mutex_trylock(a)
#define frt_mutex_unlock(a)
#define frt_mutex_destroy(a)
#define frt_thread_key_create(a, b) frb_thread_key_create(a, b)
#define frt_thread_key_delete(a) frb_thread_key_delete(a)
#define frt_thread_setspecific(a, b) frb_thread_setspecific(a, b)
#define frt_thread_getspecific(a) frb_thread_getspecific(a)
#define frt_thread_exit(a)
#define frt_thread_once(a, b) frb_thread_once(a, b)

void frb_thread_once(int *once_control, void (*init_routine)(void));
void frb_thread_key_create(frt_thread_key_t *key, frt_free_ft destroy);
void frb_thread_key_delete(frt_thread_key_t key);
void frb_thread_setspecific(frt_thread_key_t key, const void *pointer);
void *frb_thread_getspecific(frt_thread_key_t key);

#endif