40 static void (*serialize_lock) (void);
41 static void (*serialize_unlock) (void);
57 void2handle (
const void *v) {
union u u; u.
v =
v;
return u.
h; }
67 res = hdb_handle_get (&schedwrk_instance_database,
68 hdb_nocheck_convert (handle),
83 hdb_handle_destroy (&schedwrk_instance_database, hdb_nocheck_convert (handle));
85 hdb_handle_put (&schedwrk_instance_database,
86 hdb_nocheck_convert (handle));
94 void (*serialize_lock_fn) (
void),
95 void (*serialize_unlock_fn) (
void))
97 serialize_lock = serialize_lock_fn;
98 serialize_unlock = serialize_unlock_fn;
101 static int schedwrk_internal_create (
110 res = hdb_handle_create (&schedwrk_instance_database,
115 res = hdb_handle_get (&schedwrk_instance_database, *handle,
126 handle2void (*handle));
132 hdb_handle_put (&schedwrk_instance_database, *handle);
137 hdb_handle_destroy (&schedwrk_instance_database, *handle);
148 return schedwrk_internal_create (handle,
schedwrk_fn, context, 1);
156 return schedwrk_internal_create (handle,
schedwrk_fn, context, 0);
161 hdb_handle_destroy (&schedwrk_instance_database, handle);