thread_prepare_to_block
thread_prepare_to_block(thread_get_current_thread(), flags,
thread_prepare_to_block(thread, B_CAN_INTERRUPT,
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_OTHER,
thread_prepare_to_block(thread_get_current_thread(), B_CAN_INTERRUPT,
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_MUTEX, lock);
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_MUTEX, lock);
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_RW_LOCK, lock);
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_RW_LOCK, lock);
thread_prepare_to_block(thread, flags, THREAD_BLOCK_TYPE_SEMAPHORE,
thread_prepare_to_block(thread, flags, THREAD_BLOCK_TYPE_SIGNAL,
thread_prepare_to_block(thread, B_CAN_INTERRUPT,
thread_prepare_to_block(thread, flags, THREAD_BLOCK_TYPE_SNOOZE,
thread_prepare_to_block(thread, flags, THREAD_BLOCK_TYPE_USER, NULL);
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_OTHER_OBJECT, page);
thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_OTHER,