108 lines
3.5 KiB
Plaintext
108 lines
3.5 KiB
Plaintext
|
|
* 4.3.5 - Aug 19 2019
|
|
|
|
- Increase times in unit tests to ensure passing on slow systems
|
|
|
|
- Allow instantiating FunctionTimedOut exception without arguments ( will replace function name with "Unknown Function" and timedOutAfter with "Unknown" when absent)
|
|
|
|
- Update runTests.py from latest GoodTests distrib, 3.0.5 from 2.1.1
|
|
|
|
|
|
* 4.3.4 - Aug 19 2019
|
|
|
|
- Merge patch by Rafal Florczak to use threading.Thread.is_alive vs now deprecated threading.Thread.isAlive
|
|
|
|
- Regenerate docs
|
|
|
|
|
|
* 4.3.3 - May 13 2019
|
|
|
|
- More documentation updates
|
|
|
|
|
|
* 4.3.2 - May 13 2019
|
|
|
|
- Update docs, update README, note that this still works with Python 3.7
|
|
|
|
- Update link to pydocs to be on githubpreview, as python hosted is broke right now.
|
|
|
|
|
|
* 4.3.0 - Aug 10 2017
|
|
|
|
- Ensure that functions wrapped with @func_set_timeout do not lose meta
|
|
information (such as name, docstrings, etc.). Special thanks to belongwqz on
|
|
github for noting the issue and suggesting functools.wraps
|
|
|
|
|
|
* 4.2.0 - Jun 4 2017
|
|
- Add "stop" method to StoppableThread (same as previous _stopThread method -
|
|
but with a 'public' name)
|
|
- Document StoppableThread a lot more
|
|
- Add "raiseEvery" to StoppableThread.stop to control the "repeatEvery" arg to
|
|
JoinThread (how often after the first raise the exception is retried)
|
|
|
|
* 4.1.0 - May 24 2017
|
|
|
|
- If func_timeout completes the function call in the alloted time, explicitly
|
|
clean up the thread (previously we were only cleaning it up in the time-out
|
|
path). On python3 it would get cleaned up anyway on the next garbage
|
|
collection cycle, on python2 it's a bit more finnikey (but will also,
|
|
eventually, get automatically joined)
|
|
|
|
- Be better at the traceback. Exclude the funcwrap from the call, and ensure
|
|
the raised Exception follows the actual path of execution (can be confusing to
|
|
read at first glance, but your function is at the bottom, then goes around a
|
|
bit.)
|
|
|
|
This uses PEP409/3134 in Python3 (available in 3.3+, we support 3.4+
|
|
officially).
|
|
|
|
Python2 doesn't have this, but has it's own syntax that doesn't work in
|
|
python3 to allow throwing a custom __traceback__.
|
|
|
|
You'd think both would support both, or at least python3 support both...
|
|
|
|
Anyway, this causes a kinda silly import-hack and adds an extra frame to the
|
|
exception handling part, but works to prevent default handlers from picking it
|
|
up.
|
|
|
|
This solves the multiple prints of exceptions on python3 in certain
|
|
circumstances(you catching and then raising an exception)
|
|
|
|
|
|
* 4.0.0 - May 20 2017
|
|
|
|
- Fixup short delay after a thread times out
|
|
|
|
- Fix where in some cases (depending on what was execution when abort was
|
|
|
|
called), a default handler could print the tracback to stderr outside of the
|
|
scope of the normal raise (it would still be raised, just handled twice).
|
|
|
|
- Add a function decorator which provides a default timeout, allows that
|
|
timeout to be overriden by adding a "forceTimeout" kwarg to the function
|
|
(configurable), or even running a function to calculate the timeout based on
|
|
args for each call
|
|
|
|
- Some improvements to python2 support
|
|
|
|
- Add GoodTests (Unit tests)
|
|
|
|
* 3.1.0 - Jan 4 2017
|
|
- Make windows compatible
|
|
- Add simple testcase, "testit.py"
|
|
|
|
* 3.0.1 - Mar 21 2016
|
|
- Update documentation
|
|
|
|
* 3.0.0 - Mar 18 2016
|
|
- Change implementation to not leave lingering threads after a timeout occurs
|
|
- Split module into several parts
|
|
- Exportable "StoppableThread" impl, I may release later as a standalone
|
|
package.
|
|
|
|
* 1.0.1 - Mar 15 2016
|
|
- Remove debugging print
|
|
- Note that it has been explicitly tested on 2.7, 3.4, and 3.5 in README.
|
|
- Add link to pydoc in README
|