self->handled = PR_FALSE; self->lock = PR_NewLock(); PR_ASSERT(self->lock); self->condVar = PR_NewCondVar(self->lock); PR_ASSERT(self->condVar);
PL_InitEvent(PLEvent* self, void* owner,         PLHandleEventProc handler,         PLDestroyEventProc destructor){    PR_INIT_CLIST(&self->link);    self->handler = handler;    self->destructor = destructor;    self->owner = owner;    self->synchronousResult = NULL;}