rdb
5e26aae1ff
cleanup: Fix assorted issues uncovered by clang-tidy
2023-02-12 18:17:03 +01:00
rdb
867f60dcca
pstats: Rename "Show code" collector to "Tasks"
...
Also remove outdated definitions from pStatProperties.cxx
2022-11-29 20:50:18 +01:00
rdb
bfbbcad990
task: Support calling cancel() on currently awaiting futures
...
Fixes #911
2020-05-05 13:21:49 +02:00
rdb
c9372c3699
Fix a few GCC compile warnings
2018-08-26 14:02:33 +02:00
Sam Edwards
b2bfb31114
general: Remove `using std::*` from headers
...
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.
Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards
e2b4353800
general: Replace NULL (and 0 as pointer) with C++11 nullptr
...
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb
f45ddcab2f
general: switch to C++11 Lockable semantics for mutexes
...
This renames acquire/release to lock/unlock in order to be compatible with std::lock_guard and std::unique_lock (which will eventually replace the *MutexHolder classes). It will also allow us to typedef MutexImpl to std::mutex later on.
2018-05-23 20:37:56 +02:00
rdb
6a323081c0
pipeline: fix regression with Thread.getCurrentTask() disappearing
...
This method was accidentally un-exposed by 2e20a0f16e
Fixes #226
2018-01-10 20:17:43 +01:00
rdb
2e20a0f16e
Implement awaitable thread-safe future for async operations
...
This introduces AsyncFuture as a new base class of AsyncTask. It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).
AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it. As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().
Note that AsyncFuture is intended to be used *once*; it cannot be used more than once. As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
rdb
47388b0dbc
Separate out CPython calls from core libs; eliminate need for pystub
2016-07-20 14:30:41 +02:00
tobspr
0fcfb8e372
New file headers, new comment style
2016-02-17 17:47:48 +01:00
rdb
bdf91e206d
Remove references to Python.h and py_config.h from Panda headers, to prevent picking up a dependency on Python libraries in third-party modules
2015-11-28 16:33:44 +01:00
David Rose
2494b49728
Thread::get_current_task()
2010-02-09 20:14:58 +00:00
David Rose
98c18ce510
prevent pyobject leak
2009-04-10 20:33:40 +00:00
Darren Ranalli
7f3c5d660f
memory leak fix
2009-02-17 07:10:40 +00:00
David Rose
02d94cc8d2
recalcWakeTime()
2008-10-31 05:02:57 +00:00
David Rose
02d98e41c7
friendlier interface for task management
2008-10-14 02:17:38 +00:00
David Rose
ef771a796b
make sync primitives more similar to python function names
2008-10-14 00:07:05 +00:00
David Rose
3bd5914b57
upon_birth race condition issues
2008-10-13 18:24:18 +00:00
David Rose
bc2dcf0410
add get_name_prefix
2008-10-11 15:29:51 +00:00
David Rose
7683d94100
add TaskManager- events
2008-10-11 14:49:10 +00:00
David Rose
bca1533952
interrupt should not stop task
2008-10-10 21:30:11 +00:00
David Rose
a6a4a893d0
Task.sequence()
2008-10-05 00:24:55 +00:00
David Rose
4beba6ca6f
integrate pview with new task manager
2008-10-03 20:30:07 +00:00
David Rose
7cca74a597
task.frame
2008-10-03 04:30:32 +00:00
David Rose
0866bf9e51
better pstats
2008-09-29 22:20:52 +00:00
David Rose
a74bf92e67
combine DS_again with DS_restart
2008-09-29 18:37:10 +00:00
David Rose
2266110083
AsyncTask::is_runnable
2008-09-29 05:59:41 +00:00
David Rose
c59bfe5459
more threading issues
2008-09-28 21:32:11 +00:00
David Rose
8bb89607ab
DS_pickup
2008-09-27 15:56:50 +00:00
David Rose
fd1218b07b
task generators
2008-09-27 12:33:47 +00:00
David Rose
7e217b8bdc
handle more exotic uses of taskMgr
2008-09-26 23:42:22 +00:00
David Rose
72dad6e9d5
thread_priority, frame_budget, etc.
2008-09-26 19:58:11 +00:00
David Rose
5d8cd59628
live changes to set_sort, set_priority
2008-09-26 00:21:06 +00:00
David Rose
e8587e4144
pstats
2008-09-25 23:59:55 +00:00
David Rose
306873b3ac
task output
2008-09-25 23:20:59 +00:00
David Rose
bf86abd1c5
task chains
2008-09-25 19:39:19 +00:00
David Rose
524128b9fd
wip: starting experimental C-based task manager
2008-09-19 00:58:04 +00:00
David Rose
fb9c56432a
we are now using the modified BSD license
2008-05-28 18:37:20 +00:00
David Rose
4c2659988f
minor threading fixes
2007-11-27 01:18:35 +00:00
David Rose
3fe0ad1080
AsyncTaskManager, threaded sound loader
2006-08-29 19:27:03 +00:00