From 32f5a1c56531e4210bc4cf8d8c7825d66e081888 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 18 Nov 2020 16:35:47 +0100 Subject: BASELINE: Update Chromium to 87.0.4280.67 Change-Id: Ib157360be8c2ffb2c73125751a89f60e049c1d54 Reviewed-by: Allan Sandfeld Jensen --- .../v8/src/base/platform/condition-variable.cc | 32 +++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'chromium/v8/src/base/platform/condition-variable.cc') diff --git a/chromium/v8/src/base/platform/condition-variable.cc b/chromium/v8/src/base/platform/condition-variable.cc index 5ea70835eef..04ea29181bb 100644 --- a/chromium/v8/src/base/platform/condition-variable.cc +++ b/chromium/v8/src/base/platform/condition-variable.cc @@ -159,7 +159,37 @@ bool ConditionVariable::WaitFor(Mutex* mutex, const TimeDelta& rel_time) { return result != 0; } -#endif // V8_OS_POSIX +#elif V8_OS_STARBOARD + +ConditionVariable::ConditionVariable() { + SbConditionVariableCreate(&native_handle_, nullptr); +} + +ConditionVariable::~ConditionVariable() { + SbConditionVariableDestroy(&native_handle_); +} + +void ConditionVariable::NotifyOne() { + SbConditionVariableSignal(&native_handle_); +} + +void ConditionVariable::NotifyAll() { + SbConditionVariableBroadcast(&native_handle_); +} + +void ConditionVariable::Wait(Mutex* mutex) { + SbConditionVariableWait(&native_handle_, &mutex->native_handle()); +} + +bool ConditionVariable::WaitFor(Mutex* mutex, const TimeDelta& rel_time) { + SbTime microseconds = static_cast(rel_time.InMicroseconds()); + SbConditionVariableResult result = SbConditionVariableWaitTimed( + &native_handle_, &mutex->native_handle(), microseconds); + DCHECK(result != kSbConditionVariableFailed); + return result == kSbConditionVariableSignaled; +} + +#endif // V8_OS_STARBOARD } // namespace base } // namespace v8 -- cgit v1.2.1