summaryrefslogtreecommitdiff
path: root/wsgitools/scgi/forkpool.py
AgeCommit message (Collapse)Author
2023-06-18add type hints to all of the codeHelmut Grohne
In order to use type hint syntax, we need to bump the minimum Python version to 3.7 and some of the features such as Literal and Protocol are opted in when a sufficiently recent Python is available. This does not make all of the code pass type checking with mypy. A number of typing issues remain, but the output of mypy becomes something one can read through. In adding type hints, a lot of epydoc @type annotations are removed as redundant. This update also adopts black-style line breaking.
2023-06-18drop support for Python 2.xHelmut Grohne
2023-06-18reraise py3 exceptions as advised in pep3333Helmut Grohne
2020-04-02avoid changing variable typesHelmut Grohne
The mypy type checker deals badly when a binding changes its type. To ease porting to mypy, avoid changing the type of variables. In some cases, variables can be eliminated. In other cases, they are renamed.
2020-03-09remove unnecessary pass statementsHelmut Grohne
Reported-by: pylint
2019-03-10scgi.forkpool: fix SIGTERM handler in the presence of PEP475Helmut Grohne
Since PEP475 or Python 3.5, select retries an interrupted system call. However, we were relying on the previous behaviour. Thus we must interrupt select using some other measure. Another socketpair is created and the signal handler transfers a byte on shutdown.
2019-03-10wsgitools.scgi.forkpool: improve debugging broken wsgi appsHelmut Grohne
2015-04-18Merge branch py3kHelmut Grohne
2014-01-06switch to new-style classes entirelyHelmut Grohne
There is no reason to use old-style classes beyond laziness.
2013-12-09fix possible uncaught ValueError from scgi serversHelmut Grohne
With unicode strings it no longer holds that if s.isdigit() then you can safely int(s), because there are more digits (such as ^3 \xb3) accepted by isdigit. This can cause an uncaught ValueError in certain places if the remote scgi server presents bogus data. Thanks to Klaus Aehlig for pointing out what isdigit accepts.
2013-06-06Merge tag 'wsgitools-0.2.4' into py3kHelmut Grohne
The intent is to port the changes from 0.2.4 to py3k. Conflicts: README test.py wsgitools/scgi/forkpool.py All conflicts were resolved in a minimal way. The test suite now fails for all python versions.
2013-03-10forkpool: add a per-request timelimitHelmut Grohne
2012-11-01scgi.forkpool: implement RLIMIT_CPUHelmut Grohne
The limit is only set on workers does not apply to the master. Upon reaching the soft limit the worker terminates after finished the current request.
2012-11-01scgi.forkpool: fixed wrong assertionHelmut Grohne
The forkpool server was incompatible with dumb generators. They only call start_response when being asked for the first output element, but the forkpool server was wrongly requiring start_response to be called before returning the iterator.
2012-11-01scgi.forkpool: similarly drop the error attributeHelmut Grohne
It can be stored inside the config attribute.
2012-11-01scgi.forkpool: reduce instance attributesHelmut Grohne
The interface and port attributes are always used together. Combine them in order to reduce complexity.
2012-06-29make scgi.forkpool work with py3kHelmut Grohne
Note that the construction of the header moved from our internal sendheaders function to the start_response function. This way users supplying unicode characters no representable in iso-8859-1 will get a UnicodeEncodeError back from start_response, which is more useful than failing later while yielding bytes.
2012-06-28provide py3 style __next__ methodsHelmut Grohne
2012-06-28drop support for python2.5, use except ... as ...Helmut Grohne
2012-03-17sendfile supportHelmut Grohne
When a sendfile library is available, expose it via wsgi.file_wrapper. This support spans both asynchronous and forkpool.
2012-03-17set __all__ in scgi.forkpoolHelmut Grohne
2012-03-17deduplicate scgi.{asynchronous,forkpool}Helmut Grohne
2011-11-30documentation updateHelmut Grohne
* added a number of internal links (L{...}) * some fixes * some additions
2011-08-19scgi: support reusing a listen socketHelmut Grohne
This is useful when used in combination with e.g. systemd.
2011-07-18adapt exc_info handling for python 3Helmut Grohne
2010-05-25bugfix: endless loop for closed connection in scgi.forkpoolHelmut Grohne
2009-10-25observed SocketFileWrapper bug fixedHelmut Grohne
2009-10-25more SocketFileWrapper (forkpool) bugsHelmut Grohne
2009-10-25SocketFileWrapper from forkpool contained more bugsHelmut Grohne
2009-10-25socket.socket.recv requires a parameterHelmut Grohne
2009-08-25added enable_sighandler for scgi.forkpoolHelmut Grohne
2009-03-29get rid of old builtin longHelmut Grohne
Even Py2.4 can handle large parameters to int, so long is not needed.
2009-03-29quite some changes for py3Helmut Grohne
These changes introduce some compatibility code. They don't make wsgitools usable with Python 3.0, but they also don't break compatibility with Python 2.5.
2009-02-26made scgi.forkpool wsgi compliant in handling exc_infoHelmut Grohne
2009-02-01added config parameter (for environ) to scgi.forkpoolHelmut Grohne
2008-10-14added epydoc markup to doc stringsHelmut Grohne
2008-09-22improve commentsHelmut Grohne
2008-09-22added a description to scgi.forkpoolHelmut Grohne
2008-07-09speed up receiving data in forkpoolHelmut Grohne
2008-07-09check for whether environ contains CONTENT_LENGTHHelmut Grohne
2008-07-08epydoc syntax fixes in scgi.forkpoolHelmut Grohne
2008-07-08environ["wsgi.input"].read fixed in scgi.forkpoolHelmut Grohne
2008-07-08refactor scgi.forkpool socket handlingHelmut Grohne
2008-03-28fixed non-fatal bugsHelmut Grohne
2008-03-28implement size parameter for environ["wsgi.input"].readline on scgi.forkpoolHelmut Grohne
2008-03-02improved scgi.forkpool.SocketFileWrapper a lotHelmut Grohne
2008-03-02fixed silly POST bug in scgi.forkpoolHelmut Grohne
2008-02-28refactored docstrings for epydocHelmut Grohne
2008-02-28scgi.forkpool: start_response must accept a third parameterHelmut Grohne
2007-09-20added assertions for not getting unicode stringsHelmut Grohne