summaryrefslogtreecommitdiff
path: root/src/server/mod_wsgi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/mod_wsgi.c')
-rw-r--r--src/server/mod_wsgi.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/mod_wsgi.c b/src/server/mod_wsgi.c
index 920cc5d..a09027f 100644
--- a/src/server/mod_wsgi.c
+++ b/src/server/mod_wsgi.c
@@ -7846,8 +7846,10 @@ static void *wsgi_deadlock_thread(apr_thread_t *thd, void *data)
while (1) {
apr_sleep(apr_time_from_sec(1));
- gilstate = PyGILState_Ensure();
- PyGILState_Release(gilstate);
+ if (!wsgi_daemon_shutdown) {
+ gilstate = PyGILState_Ensure();
+ PyGILState_Release(gilstate);
+ }
apr_thread_mutex_lock(wsgi_monitor_lock);
wsgi_deadlock_shutdown_time = apr_time_now();
@@ -9204,8 +9206,7 @@ static apr_status_t wsgi_socket_connect_un(apr_socket_t *sock,
}
do {
- rv = connect(rawsock, (struct sockaddr*)sa,
- sizeof(*sa) + strlen(sa->sun_path));
+ rv = connect(rawsock, (struct sockaddr*)sa, sizeof(*sa));
} while (rv == -1 && errno == EINTR);
if ((rv == -1) && (errno == EINPROGRESS || errno == EALREADY)
@@ -9249,7 +9250,7 @@ static int wsgi_connect_daemon(request_rec *r, WSGIDaemonSocket *daemon)
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
- apr_cpystrn(addr.sun_path, daemon->socket_path, sizeof addr.sun_path);
+ apr_cpystrn(addr.sun_path, daemon->socket_path, sizeof(addr.sun_path));
start_time = apr_time_now();