open_toontown_panda3d/panda/src/pipeline
rdb c4a01ac564 pipeline: give Mutex and ReMutex more Pythonic semantics
This allows using mutices in with-blocks and wraps up the functionality of acquire() and try_acquire() into a single acquire(blocking=True).

Furthermore, the GIL is no longer released in cases of no contention.
2019-05-12 20:58:13 +02:00
..
blockerSimple.I pipeline: make BlockerSimple constexpr (needed by MutexSimpleImpl) 2018-10-16 21:18:02 +02:00
blockerSimple.h pipeline: make BlockerSimple constexpr (needed by MutexSimpleImpl) 2018-10-16 21:18:02 +02:00
conditionVar.I general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
conditionVar.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVar.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarDebug.I general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
conditionVarDebug.cxx pipeline: revert change causing shutdown crash with DEBUG_THREADS 2019-02-14 21:43:21 +01:00
conditionVarDebug.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarDirect.I pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarDirect.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
conditionVarDirect.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarDummyImpl.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarDummyImpl.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarDummyImpl.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarFull.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarImpl.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarPosixImpl.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
conditionVarPosixImpl.cxx general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
conditionVarPosixImpl.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarSimpleImpl.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarSimpleImpl.cxx general: switch to C++11 Lockable semantics for mutexes 2018-05-23 20:37:56 +02:00
conditionVarSimpleImpl.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarSpinlockImpl.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarSpinlockImpl.cxx pipeline: fix compiler warning due to PAUSE symbol redefined 2018-09-28 14:20:47 +02:00
conditionVarSpinlockImpl.h Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
conditionVarWin32Impl.I pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
conditionVarWin32Impl.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
conditionVarWin32Impl.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
config_pipeline.cxx Fix errors when building with --override DO_PIPELINING=UNDEF 2018-10-17 17:33:27 +02:00
config_pipeline.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
contextSwitch.c move OS_SIMPLE_THREADS to dtool_config.h 2010-05-01 16:10:54 +00:00
contextSwitch.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
contextSwitch_longjmp_src.c Warning fixes and cleanups when building with SIMPLE_THREADS 2018-10-16 21:32:42 +02:00
contextSwitch_posix_src.c Warning fixes and cleanups when building with SIMPLE_THREADS 2018-10-16 21:32:42 +02:00
contextSwitch_ucontext_src.c Warning fixes and cleanups when building with SIMPLE_THREADS 2018-10-16 21:32:42 +02:00
contextSwitch_windows_src.c Warning fixes and cleanups when building with SIMPLE_THREADS 2018-10-16 21:32:42 +02:00
cycleData.I gobj: reduce unnecessary use of threading primitives in constructors 2017-12-28 00:20:59 +01:00
cycleData.cxx pipeline: add TypeHandle for CycleData if DO_PIPELINING is set 2018-06-22 20:52:44 +02:00
cycleData.h pipeline: CycleData should always inherit from MemoryBase 2018-10-31 21:25:31 +01:00
cycleDataLockedReader.I pipeline: fix missing symbols for CycleDataLockedReader 2018-10-28 11:44:24 +01:00
cycleDataLockedReader.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataLockedReader.h general: remove macros for compatibility with non-C++11 compilers 2018-05-23 23:33:05 +02:00
cycleDataLockedStageReader.I Fix errors when building with --override DO_PIPELINING=UNDEF 2018-10-17 17:33:27 +02:00
cycleDataLockedStageReader.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataLockedStageReader.h general: remove macros for compatibility with non-C++11 compilers 2018-05-23 23:33:05 +02:00
cycleDataReader.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataReader.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataReader.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataStageReader.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataStageReader.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataStageReader.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataStageWriter.I Fix errors when building with --override DO_PIPELINING=UNDEF 2018-10-17 17:33:27 +02:00
cycleDataStageWriter.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataStageWriter.h general: remove macros for compatibility with non-C++11 compilers 2018-05-23 23:33:05 +02:00
cycleDataWriter.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
cycleDataWriter.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cycleDataWriter.h general: remove macros for compatibility with non-C++11 compilers 2018-05-23 23:33:05 +02:00
cyclerHolder.I general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
cyclerHolder.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cyclerHolder.h general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
externalThread.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
externalThread.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
genericThread.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
genericThread.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
genericThread.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightMutex.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightMutex.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
lightMutex.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightMutexDirect.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightMutexDirect.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
lightMutexDirect.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightMutexHolder.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
lightMutexHolder.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
lightMutexHolder.h general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
lightReMutex.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightReMutex.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
lightReMutex.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
lightReMutexDirect.I Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
lightReMutexDirect.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
lightReMutexDirect.h pipeline: (Light)ReMutexDirect should include thread.h 2019-01-02 01:41:25 -07:00
lightReMutexHolder.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
lightReMutexHolder.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
lightReMutexHolder.h general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
mainThread.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
mainThread.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
mutexDebug.I pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
mutexDebug.cxx pipeline: revert change causing shutdown crash with DEBUG_THREADS 2019-02-14 21:43:21 +01:00
mutexDebug.h pipeline: revert change causing shutdown crash with DEBUG_THREADS 2019-02-14 21:43:21 +01:00
mutexDirect.I pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
mutexDirect.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
mutexDirect.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
mutexHolder.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
mutexHolder.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
mutexHolder.h general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
mutexSimpleImpl.I general: switch to C++11 Lockable semantics for mutexes 2018-05-23 20:37:56 +02:00
mutexSimpleImpl.cxx general: switch to C++11 Lockable semantics for mutexes 2018-05-23 20:37:56 +02:00
mutexSimpleImpl.h general: remove macros for compatibility with non-C++11 compilers 2018-05-23 23:33:05 +02:00
mutexTrueImpl.h Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
p3pipeline_composite1.cxx pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
p3pipeline_composite2.cxx Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
pipeline.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pipeline.cxx general: fix many compilation warnings in GCC 8 2018-06-19 00:37:28 +02:00
pipeline.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pipelineCycler.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pipelineCycler.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
pipelineCycler.h gobj: reduce unnecessary use of threading primitives in constructors 2017-12-28 00:20:59 +01:00
pipelineCyclerBase.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
pipelineCyclerDummyImpl.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
pipelineCyclerDummyImpl.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
pipelineCyclerDummyImpl.h general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
pipelineCyclerLinks.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
pipelineCyclerLinks.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
pipelineCyclerTrivialImpl.I general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
pipelineCyclerTrivialImpl.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
pipelineCyclerTrivialImpl.h general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
pipelineCyclerTrueImpl.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
pipelineCyclerTrueImpl.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
pipelineCyclerTrueImpl.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pmutex.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pmutex.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
pmutex.h pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
pmutex_ext.I pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
pmutex_ext.h pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
psemaphore.I general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
psemaphore.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
psemaphore.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
pythonThread.cxx general: use nassert_raise instead of nassertv(false) et al 2018-11-28 17:35:20 +01:00
pythonThread.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
reMutex.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
reMutex.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
reMutex.h pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
reMutexDirect.I pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
reMutexDirect.cxx Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
reMutexDirect.h pipeline: (Light)ReMutexDirect should include thread.h 2019-01-02 01:41:25 -07:00
reMutexHolder.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
reMutexHolder.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
reMutexHolder.h general: use proper deleted funcs instead of stubs with asserts 2018-05-23 23:35:27 +02:00
reMutexSpinlockImpl.I Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
reMutexSpinlockImpl.cxx pipeline: fix compiler warning due to PAUSE symbol redefined 2018-09-28 14:20:47 +02:00
reMutexSpinlockImpl.h Fix problems with spinlock mutex/cvar implementation 2018-09-04 12:58:48 +02:00
reMutex_ext.I pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
reMutex_ext.h pipeline: give Mutex and ReMutex more Pythonic semantics 2019-05-12 20:58:13 +02:00
select.tau better windows tau support; better threaded DeletedChain support; beginning PipelineReader classes 2006-04-20 04:03:16 +00:00
test_atomic.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_concurrency.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_delete.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_diners.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_mutex.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_setjmp.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
test_threaddata.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
thread.I general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
thread.cxx pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
thread.h pipeline: unify ConditionVarFull and ConditionVar 2019-02-11 16:23:10 +01:00
threadDummyImpl.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
threadDummyImpl.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
threadDummyImpl.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
threadImpl.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
threadPosixImpl.I general: Replace NULL (and 0 as pointer) with C++11 nullptr 2018-06-03 16:35:13 -06:00
threadPosixImpl.cxx pipeline: use decimal representation for unique thread ID on FreeBSD 2019-02-14 22:40:46 +01:00
threadPosixImpl.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
threadPriority.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
threadPriority.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
threadSimpleImpl.I Fix building with SIMPLE_THREADS=1 2018-10-16 22:15:36 +02:00
threadSimpleImpl.cxx Fix building with SIMPLE_THREADS=1 2018-10-16 22:15:36 +02:00
threadSimpleImpl.h Fix building with SIMPLE_THREADS=1 2018-10-16 22:15:36 +02:00
threadSimpleManager.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
threadSimpleManager.cxx Fix building with SIMPLE_THREADS=1 2018-10-16 22:15:36 +02:00
threadSimpleManager.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00
threadWin32Impl.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
threadWin32Impl.cxx general: Remove `using std::*` from headers 2018-06-14 16:04:49 +02:00
threadWin32Impl.h general: Fully qualify header references into the std namespace 2018-06-07 10:35:12 +02:00