PRThread* currentThread = PR_GetCurrentThread(); #if 0
nsDefaultProtocolHelper::Notify(nsIBlockingNotification *aCaller,                                nsIURL *aUrl,                                PRThread *aThread,                                PRInt32 aCode,                                void *aExtraInfo){  nsresult rv;  NotificationEvent *ev;  /*    * Initialize the return code to indicate that the notification was not   * processed synchronously...   */  rv = NS_NOTIFY_BLOCKED;      /*   * If no thread switch is necessary, then handle the notification   * immediately...   */   PRThread* currentThread = PR_GetCurrentThread(); #if 0 // The mac netlib is on the same thread as the UI thread but you crash if you block right here  if ( currentThread == aThread) {    rv = HandleNotification(aCaller, aUrl, aCode, (void *)aExtraInfo);  }  else   #endif   {      /*     * Post a message to the appropriate thread event queue to     * handle the notification...     */    nsIEventQueue *evQ = nsnull;    /* locate the event queue for the thread... */    if (mEventQService) {      mEventQService->GetThreadEventQueue(aThread, &evQ);    }    /* Create and dispatch the notification event... */    if (evQ) {      ev = new NotificationEvent(this, aCaller, aUrl, aCode, (nsISupports *) aExtraInfo);      if (ev) {        PRStatus status;        /* dispatch the event into the appropriate event queue... */        status = ev->Fire(evQ);        if (PR_SUCCESS != status) {          /* If the event was not dispatched, then clean up... */          NotificationEvent::DestroyPLEvent(ev);          rv = NS_ERROR_FAILURE;        }      }      else {        /* allocation of the Notification event failed... */         rv = NS_ERROR_OUT_OF_MEMORY;      }			NS_IF_RELEASE(evQ);    } else {      /* No event queue was found! */      NS_ASSERTION(0, "No Event Queue is available!");      rv = NS_ERROR_FAILURE;    }  }  return rv;}