// Called from any thread NS_IMETHODIMP nsBaseAppShell::OnDispatchedEvent(nsIThreadInternal *thr) { if (mBlockNativeEvent) return NS_OK; if (mNativeEventPending.exchange(1)) return NS_OK; // Returns on the main thread in NativeEventCallback above ScheduleNativeEventCallback(); return NS_OK; }
// Called from any thread NS_IMETHODIMP nsBaseAppShell::OnDispatchedEvent(nsIThreadInternal *thr) { if (mBlockNativeEvent) return NS_OK; PRInt32 lastVal = PR_AtomicSet(&mNativeEventPending, 1); if (lastVal == 1) return NS_OK; ScheduleNativeEventCallback(); return NS_OK; }
// Called from any thread NS_IMETHODIMP nsBaseAppShell::OnDispatchedEvent(nsIThreadInternal *thr) { if (mBlockNativeEvent) return NS_OK; int32_t lastVal = PR_ATOMIC_SET(&mNativeEventPending, 1); if (lastVal == 1) return NS_OK; // Returns on the main thread in NativeEventCallback above ScheduleNativeEventCallback(); return NS_OK; }