done:
PL_PostEvent(PLEventQueue* self, PLEvent* event){    PRStatus err;    PRMonitor* mon;    if (self == NULL)    return PR_FAILURE;    mon = self->monitor;    PR_EnterMonitor(mon);    /* insert event into thread's event queue: */    if (event != NULL) {    PR_APPEND_LINK(&event->link, &self->queue);    }    /* notify even if event is NULL */    err = _pl_NativeNotify(self);    if (err != PR_SUCCESS) goto done;    /*     * This may fall on deaf ears if we're really notifying the native      * thread, and no one has called PL_WaitForEvent (or PL_EventLoop):     */    err = PR_Notify(mon);  done:    PR_ExitMonitor(mon);    return err;}