Version 4.3.2¶
Version 4.3.2 of mod_wsgi can be obtained from:
Known Issues¶
1. The makefiles for building mod_wsgi on Windows are currently broken and need updating. As most new changes relate to mod_wsgi daemon mode, which is not supported under Windows, you should keep using the last available binary for version 3.X on Windows instead.
Bugs Fixed¶
1. Linux behaviour when using connect()
on a non blocking UNIX socket
and the listener queue is full, is apparently not POSIX compliant and it
returns EAGAIN
instead of ECONNREFUSED
. The code handling errors
from the connect()
wasn’t accomodating this non standard behaviour
and so would fail immediately rather than retrying.
2. Only change working directory for mod_wsgi daemon process after having dropped privileges to target user. This is required where the specified working directory is on an NFS file system configured so as not to have root access priviliges.
3. The workaround for getting pyvenv style virtual environments to work with Python 3.3+ would break brew Python 2.7 on MacOS X as brew Python appears to not work in embedded systems which use Py_SetProgramName() instead of using Py_SetPythonHome(). Now only use Py_SetProgramName() if detect it is actually a pyvenv style virtual environment. This even appears to be okay for brew Python 3.4 at least as it does still work with the Py_SetProgramName() call even if brew Python 2.7 doesn’t.
New Features¶
1. If the WSGIPythonHome
directive or the python-home
option is
used with the WSGIDaemonProcess
directive, the path provided, which is
supposed to be the root directory of the Python installation or virtual
environment, will be checked to see if it is actually accessible and refers
to a directory. If it isn’t, a warning message will be logged along with
any details providing an indication of what may be wrong with the supplied
path.
This is being done to warn when an invalid path has been supplied that
subsequently is likely to be rejected and ignored by the Python
interpreter. In such a situation where an invalid path is supplied the
Python interpreter doesn’t actually log anything and will instead silently
fallback to using any Python installation it finds by seaching for
python
on the users PATH
. This may not be the Python installation
or virtual environment you intended be used.
2. The Apache configuration snippet generated as an example when running
the install-module
sub command of mod_wsgi-express
to install the
mod_wsgi.so
into the Apache installation itself, will now output a
WSGIPythonHome
directive for the Python installation or virtual
environment the mod_wsgi module was compiled against so that the correct
Python runtime will be used.