Switch to compiler-tester
[mono.git] / mono / io-layer / collection.h
1 /*
2  * collection.h:  Garbage collection for handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2004 Novell, Inc.
8  */
9
10 #ifndef _WAPI_COLLECTION_H_
11 #define _WAPI_COLLECTION_H_
12
13 #include <glib.h>
14
15 G_BEGIN_DECLS
16
17 #define _WAPI_HANDLE_COLLECTION_UPDATE_INTERVAL         10
18 #define _WAPI_HANDLE_COLLECTION_EXPIRED_INTERVAL        60
19
20 #include <mono/io-layer/shared.h>
21
22 #define _WAPI_HANDLE_COLLECTION_UNSAFE          \
23         {                                       \
24                 int _wapi_thr_ret;              \
25                                                 \
26                 _wapi_thr_ret = _wapi_shm_sem_lock (_WAPI_SHARED_SEM_COLLECTION);       \
27                 g_assert(_wapi_thr_ret == 0);
28
29 #define _WAPI_HANDLE_COLLECTION_SAFE            \
30                 _wapi_thr_ret = _wapi_shm_sem_unlock (_WAPI_SHARED_SEM_COLLECTION); \
31                 g_assert (_wapi_thr_ret == 0);  \
32         }
33
34 extern void _wapi_collection_init (void);
35 extern void _wapi_handle_collect (void);
36
37 G_END_DECLS
38
39 #endif /* _WAPI_COLLECTION_H_ */