Commit 2fd7d839 authored by Kagami Sascha Rosylight's avatar Kagami Sascha Rosylight
Browse files

Bug 1741186 - Add WorkerRef outside of the constructor r=smaug

parent 220a38db
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(LockManagerChild, Release)
void LockManagerChild::RequestLock(const LockRequest& aRequest,
                                   const LockOptions& aOptions) {
  auto requestActor = MakeRefPtr<LockRequestChild>(aRequest, aOptions.mSignal);
  requestActor->MaybeSetWorkerRef();
  SendPLockRequestConstructor(
      requestActor, IPCLockRequest(nsString(aRequest.mName), aOptions.mMode,
                                   aOptions.mIfAvailable, aOptions.mSteal));
+3 −0
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@ LockRequestChild::LockRequestChild(
  if (aSignal.WasPassed()) {
    Follow(&aSignal.Value());
  }
}

void LockRequestChild::MaybeSetWorkerRef() {
  if (!NS_IsMainThread()) {
    mWorkerRef = StrongWorkerRef::Create(
        GetCurrentThreadWorkerPrivate(), "LockManager",
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ class LockRequestChild final : public PLockRequestChild,
      const LockRequest& aRequest,
      const Optional<OwningNonNull<AbortSignal>>& aSignal);

  void MaybeSetWorkerRef();

  IPCResult RecvResolve(const LockMode& aLockMode, bool aIsAvailable);
  IPCResult Recv__delete__(bool aAborted);