FWF_DESTROY_WANTED
ASSERT((waiter->fw_flags & FWF_DESTROY_WANTED) == 0);
if (waiter->fw_flags & FWF_DESTROY_WANTED) {
waiter->fw_flags |= FWF_DESTROY_WANTED;
#define FWF_DESTROY (FWF_DESTROY_ACTIVE|FWF_DESTROY_WANTED)
#define FWF_DESTROY_OK(x) ((x)->fw_flags == FWF_DESTROY_WANTED)