19 #ifndef PAGESPEED_KERNEL_THREAD_SCHEDULER_BASED_ABSTRACT_LOCK_H_
20 #define PAGESPEED_KERNEL_THREAD_SCHEDULER_BASED_ABSTRACT_LOCK_H_
25 namespace net_instaweb {
44 virtual bool LockTimedWait(int64 wait_ms);
45 virtual void LockTimedWait(int64 wait_ms,
Function* callback);
47 virtual bool LockTimedWaitStealOld(int64 wait_ms, int64 steal_ms);
48 virtual void LockTimedWaitStealOld(
49 int64 wait_ms, int64 steal_ms,
Function* callback);
53 friend class FileSystemLockManagerTest;
71 bool TryLockIgnoreSteal(int64 steal_ignored);
72 bool BusySpin(TryLockMethod try_lock, int64 steal_ms);
73 void PollAndCallback(TryLockMethod try_lock, int64 steal_ms,
Non-blocking locking class.
Definition: named_lock_manager.h:31
Definition: function.h:47
virtual bool TryLockStealOld(int64 steal_ms)=0
Definition: scheduler.h:47
Definition: scheduler_based_abstract_lock.h:40
Definition: shared_mem_lock_manager_test_base.h:34