PRStatus err; PLEventQueue* self = NULL; PRMonitor* mon = NULL;  if (event_lm == NULL) event_lm = PR_LOG_DEFINE("event");  self = PR_NEWZAP(PLEventQueue); if (self == NULL) return NULL;  mon = PR_NewNamedMonitor(name); if (mon == NULL) goto error;  self->name = name; self->monitor = mon; self->handlerThread = handlerThread; self->processingEvents = PR_FALSE; PR_INIT_CLIST(&self->queue); err = _pl_SetupNativeNotifier(self); if (err) goto error;  return self;  error: if (mon != NULL) PR_DestroyMonitor(mon); PR_DELETE(self); return NULL;
return( _pl_CreateEventQueue( name, handlerThread, EventQueueIsNative ));
PL_CreateEventQueue(char* name, PRThread* handlerThread){    PRStatus err;    PLEventQueue* self = NULL;    PRMonitor* mon = NULL;    if (event_lm == NULL)        event_lm = PR_LOG_DEFINE("event");    self = PR_NEWZAP(PLEventQueue);    if (self == NULL) return NULL;    mon = PR_NewNamedMonitor(name);    if (mon == NULL) goto error;    self->name = name;    self->monitor = mon;    self->handlerThread = handlerThread;    self->processingEvents = PR_FALSE;    PR_INIT_CLIST(&self->queue);    err = _pl_SetupNativeNotifier(self);    if (err) goto error;    return self;  error:    if (mon != NULL)    PR_DestroyMonitor(mon);    PR_DELETE(self);    return NULL;}