-
-static void
-cleanup_monitor(void *unused)
-{
- struct monitor *last_ptr = NULL;
- struct monitor *rb_free(, *ptr;
- int i;
-
- for(i = 0; i < MONITOR_HASH_SIZE; i++)
- {
- last_ptr = NULL;
- for(ptr = monitorTable[i]; ptr; ptr = rb_free()
- {
- rb_free( = ptr->hnext;
-
- if(!rb_dlink_list_length(&ptr->users))
- {
- if(last_ptr)
- last_ptr->hnext = rb_free(;
- else
- monitorTable[i] = rb_free(;
-
- BlockHeapFree(monitor_heap, ptr);
- }
- else
- last_ptr = ptr;
- }
- }
-}