rdb
ed5e5386b9
AsyncFuture improvements, incl. support for gathering futures
2017-12-21 14:07:01 +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
0c0f9adab9
Support coroutines and async/await in the task manager and loader
2017-10-31 18:56:41 +01:00
rdb
d576c6b638
Improvements to generated API docs, especially in direct tree.
...
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
rdb
f1f4951fb5
Merge remote-tracking branch 'origin/release/1.9.x'
2016-10-13 00:25:57 +02:00
rdb
f363088cb2
Fix exception when creating intervals before ShowBase is started
2016-09-30 00:21:12 +02:00
Mitchell Stokes
74d588696c
Fix Python3 support
2016-05-15 10:27:37 +02:00
David Rose
28cbe13d85
task names can be unicode strings too, better to check against basestring
2016-05-13 18:21:12 -07:00
rdb
23bf9ea5c7
The direct tree is now valid Python 2 *and* 3
2016-03-28 22:33:30 +02:00
rdb
54fa31ba17
StandardError -> Exception, other 2to3 changes, threaded 2to3
2016-03-25 17:13:09 +01:00
rdb
0d03207d1b
Dramatically reduce size of frozen/compiled code by pruning/masking unnecessary imports/code
2016-02-12 22:20:27 +01:00
rdb
e0e2d6d222
Ignore run() in emscripten
2016-02-11 19:10:59 +01:00
rdb
03c8d4c009
Fix use of many builtins
2016-02-02 13:41:20 +01:00
rdb
dafe48a6bc
Begin to add snake_case/property interfaces to important direct classes
2015-12-26 17:00:51 +01:00
mfwass
f8837999ed
Cleanup trailing whitespace
2015-12-13 10:08:41 -05:00
rdb
32367fcbdc
Fix various import issues in the direct tree
2015-12-06 22:36:05 +01:00
rdb
0a9f9887f9
Merge branch 'release/1.9.x'
...
Conflicts:
direct/src/p3d/Packager.py
direct/src/p3d/ppackage.py
makepanda/makepandacore.py
2015-11-21 03:17:33 +01:00
rdb
2d6c2c5c6d
Remove dependency on tkpanels and tkwidgets modules when building .p3d package
2015-11-20 17:42:18 +01:00
rdb
31dbcae262
Deprecate many extension methods, make extension methods imported via modules instead of dumped into core.py, move _core.pyd and _direct.pyd back to core.pyd, direct.pyd respectively, move MAIN_DIR set-up code to module init time
2015-11-10 00:44:29 +01:00
rdb
db3ab953e4
Remove ppremake, genPyCode, and all hacks created to support them
2015-11-09 19:06:49 +01:00
rdb
d9342043b0
Deprecate pandac.PandaModules and genPyCode, move extensions to panda3d/, clean up imports and deprecated behaviour
2015-06-28 13:55:31 +02:00
rdb
f87785d2c0
Allow using Panda without 'signal' module in platforms that do not have one (eg. JavaScript)
2015-06-21 17:37:50 +02:00
rdb
0aa0f34c74
Lots of work to make the rtdist work with the new library building system
2015-01-12 15:02:42 +01:00
rdb
f8acde64f7
taskMgr.destroy() should imply stop()
2014-08-14 18:08:31 +00:00
rdb
c729775265
The 'new' module has been deprecated since 2.6 and removed in Python 3, let's not use it (use 'types' module instead)
2013-12-23 15:08:00 +00:00
David Rose
646f12f625
squelch backtrace on SystemExit
2012-02-16 00:19:09 +00:00
Darren Ranalli
9462d332dc
upload client stack dump to event logs
2010-04-29 01:25:11 +00:00
rdb
ac1223d0da
Ditch stuff like has_key and backticks
2010-03-19 10:32:09 +00:00
David Rose
73943dd77e
taskMgr.getCurrentTask()
2010-02-09 20:15:31 +00:00
David Rose
50b9e51aa6
fix shutdown while downloading
2009-12-28 21:16:56 +00:00
David Rose
62aaf94cb0
frameSync
2009-12-05 19:39:45 +00:00
David Rose
7de817fb2b
remove old task manager
2009-09-25 14:50:14 +00:00
David Rose
81363c4ba9
PackageInstaller, runtime package installation
2009-08-25 21:40:57 +00:00
David Rose
936076ad7d
remove unused files
2009-08-09 16:04:26 +00:00
Darren Ranalli
57e08fadf2
use FunctionCall.pushCurrentState
2009-07-06 21:46:23 +00:00
David Rose
be2883308b
need messenger import
2009-06-08 18:08:39 +00:00
Darren Ranalli
d5d23c2fa7
fix memory leak
2009-02-04 00:10:38 +00:00
David Rose
9e5e3edc5b
fix exception when mini-task explicitly removes itself
2009-01-09 19:19:35 +00:00
David Rose
aa5bebac85
defer importing ProfileSession
2008-12-22 19:17:18 +00:00
Darren Ranalli
31921f16b5
reduced spike threshold to 5.
2008-12-10 19:04:56 +00:00
Darren Ranalli
a10f7a2b8c
added ~aitaskspikethreshold/~taskspikethreshold
2008-11-18 23:01:53 +00:00
David Rose
450f5f3bf6
remove accepts a list
2008-11-13 06:17:16 +00:00
David Rose
2e01bf163f
replace task bug
2008-11-12 22:58:14 +00:00
David Rose
f95217d056
setUponDeath
2008-11-12 04:16:16 +00:00
Darren Ranalli
5dbeaa689a
frame-profiler-debug -> frequent-frame-profiles, limit number of profile loggings in one frame
2008-11-04 21:02:16 +00:00
Darren Ranalli
3b2a2af619
fixed FrameProfiler/taskMgr synchronization problem
2008-11-03 21:43:47 +00:00
Darren Ranalli
e757a0b769
working frame profiler
2008-11-03 18:08:23 +00:00
Darren Ranalli
7d9cd570dc
working FrameProfiler
2008-10-31 21:10:31 +00:00
David Rose
02d94cc8d2
recalcWakeTime()
2008-10-31 05:02:57 +00:00
Darren Ranalli
8e1f95d480
fixed configs for frame profiling
2008-10-30 23:54:34 +00:00