2 * collection.h: Garbage collection for handles
5 * Dick Porter (dick@ximian.com)
7 * (C) 2004 Novell, Inc.
10 #ifndef _WAPI_COLLECTION_H_
11 #define _WAPI_COLLECTION_H_
15 #define _WAPI_HANDLE_COLLECTION_UNSAFE \
17 guint32 _wapi_save_start; \
21 _wapi_save_start = (guint32)(time(NULL) & 0xFFFFFFFF);\
23 _wapi_thr_ret = _wapi_timestamp_exclusion (&_wapi_shared_layout->master_timestamp, _wapi_save_start); \
24 if (_wapi_thr_ret == EBUSY) { \
25 _wapi_handle_spin (100); \
27 } while (_wapi_thr_ret == EBUSY); \
28 g_assert (_wapi_thr_ret == 0);
31 #define _WAPI_HANDLE_COLLECTION_SAFE \
32 _wapi_thr_ret = _wapi_timestamp_release (&_wapi_shared_layout->master_timestamp, _wapi_save_start); \
36 extern void _wapi_collection_init (void);
37 extern void _wapi_handle_collect (void);
39 #endif /* _WAPI_COLLECTION_H_ */