| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
tests: add uwsgi call in harakiri.py
|
| |/
|
|
| |
So that it's trivial to run.
|
| |\
| |
| | |
core: add new flags for harakiri configuration:
|
| |/
|
|
|
|
|
| |
- harakiri-graceful-timeout additional timeout for the worker to attempt a graceful shutdown. The application can catch the termination signal and perform an "emergency shutdown"
- harakiri-graceful-signal determines which signal should be used (default SIGTERM)
- harakiri-graceful-queue-threshold only triggers a harakiri if/when the listen queue crosses a threshold. Harakiri continues to be checked until the conditions are met
- Changes are backwards compatible when the flags are not present
|
| |\
| |
| | |
fix build with PHP >= 8.2
|
| |/
|
|
|
|
| |
from https://raw.githubusercontent.com/php/php-src/PHP-8.2/UPGRADING.INTERNALS:
======================== 5. SAPI changes ======================== * The signature of php_module_startup() has changed from int php_module_startup(sapi_module_struct *sf, zend_module_entry +*additional_modules, uint32_t num_additional_modules) to zend_result php_module_startup(sapi_module_struct *sf, zend_module_entry +*additional_module) as only one additional module was ever provided.
|
| |\
| |
| | |
plugins/python: Use "backslashreplace" on stderr initialization
|
| | |
| |
| |
| |
| | |
Failing to use this value will result in enconding errors when logging
unicode characters to stderr
|
| |\ \
| |/
|/| |
RELEASE: document the release process
|
| |/ |
|
| |\
| |
| | |
ci: force installing sinatra 2
|
| |/
|
|
|
|
| |
Which still runs on ruby 2.5.0.
Fix #2497
|
| |\
| |
| | |
Use parentheses in print() statement.
|
| |/
|
|
|
|
| |
In py3 print is not a keyword, it is function, so it must be called with
parentheses. This fix compatible with py2 as it does not denies using
print as print().
|
| | |
|
| | |
|
| |\
| |
| | |
ci: refactor tests to be run in parallel
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
starting from `tests/travis.sh` subdivide test suites into:
* `tests/gh-python.sh`
* `tests/gh-deadlocks.sh`
* `tests/gh-rack.sh`
that share common variables and functions from `tests/gh-shared.sh`
refactor github test workflow to use a multidimensional matrix in order
to run each test suite (unittest, python, deadlocks) on each supported
python version and rack tests on each supported rack version.
closes https://github.com/unbit/uwsgi/issues/2479
leave `tests/travis.sh` because it can be useful as is somewhere else.
|
| |\
| |
| | |
Ensure '-lrt' is included on the link line after linking to python li…
|
| | |
| |
| |
| | |
Python depends on clock_gettime() and other functions in librt. Nothing else in uwsgi has a dependency on librt so if this library is only specified early on the link line then the library is dropped by the linker.
|
| |\ \
| | |
| | | |
Bump trove classifiers up to 3.11
|
| |/ / |
|
| |\ \
| | |
| | | |
PHP: Fix php-app for php81
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Fix segfault from GEVENT_SWITCH
|
| | |/ / |
|
| |\ \ \
| | | |
| | | | |
Fixed compilation issue on macOS + Clang.
|
| | |/ /
| | |
| | |
| | | |
Fixes #2446.
|
| |\ \ \
| | | |
| | | | |
make dev version PEP-0440 compliant
|
| | |/ / |
|
| |\ \ \
| | | |
| | | | |
ci: run smoke tests on python 3.11
|
| |/ / / |
|
| |\ \ \
| | | |
| | | | |
uwsgiconfig: don't error on deprecated declarations
|
| |/ / /
| | |
| | |
| | |
| | | |
Get us some more time to handle all the deprecations
(pthread, openssl 3, python 3.11) to keep things compiling.
|
| |\ \ \
| | | |
| | | | |
Add Python 3.11 support
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Use PyFrame_GetCode().
* Add PyFrame_GetCode() for Python 3.8 and older.
* Add UWSGI_PY311 macro: defined on Python 3.11 and newer.
* struct uwsgi_python: "current_recursion_depth" becomes
"current_recursion_remaining" and current_frame type becomes
_PyCFrame** on Python 3.11.
Related Python 3.11 changes:
* https://docs.python.org/dev/whatsnew/3.11.html#id6
* The PyFrameObject structure became opaque.
* PyThreadState.frame (PyFrameObject) became PyThreadState.cframe
(_PyCFrame) in Python 3.11.
* PyThreadState: recursion_depth was replaced with
recursion_remaining + recursion_limit.
|
| |\ \ \ \
| |_|/ /
|/| | | |
ci: update python versions in smoke tests
|
| |/ / /
| | |
| | |
| | | |
Drop python 3.5 and add 3.9 and 3.10
|
| |\ \ \
| | | |
| | | | |
Use threading.current_thread, has existed since Python 2.6
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | | |
Replace all os.system usage with subprocess.call
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This aims to fix intermittent build failures on some platforms (most
notably Debian Bullseye) which appear to be due to the use of
`os.system` from background threads. The exact nature of the issue
is unclear, however moving to `subprocess.call` appears to fix it.
Fixes https://github.com/unbit/uwsgi/issues/2447.
While there's more that could be done here to modernise these calls,
this aims to be a minimal change which introduces subprocess without
much intrusion.
|
| |\ \ \
| | | |
| | | | |
plugins/python: Properly call `.close()` as mandated by WSGI specs.
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
uWSGI did not call `.close()` on objects returned by
`wsgi.file_wrapper`. This resulted on `.close()` beeing called when the
gc managed to clean up the object (which apparently did not happen with
refcounting due to cyclic references) resulting in hard to debug errors.
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
fix(tests/deadlock): sleep before checking uwsgi process
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| | |
fix(python-plugin): update internal interpreter state immediately upon forking
|