diff options
Diffstat (limited to 'os')
-rw-r--r-- | os/unix/unixd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/os/unix/unixd.c b/os/unix/unixd.c index 43645f09da..b939355289 100644 --- a/os/unix/unixd.c +++ b/os/unix/unixd.c @@ -320,6 +320,12 @@ AP_DECLARE(apr_status_t) ap_unixd_accept(void **accepted, ap_listen_rec *lr, if (APR_STATUS_IS_EINTR(status)) { return status; } + + /* Let the caller handle slightly more varied return values */ + if (lr->use_specific_errors && ap_accept_error_is_nonfatal(status)) { + return status; + } + /* Our old behaviour here was to continue after accept() * errors. But this leads us into lots of troubles * because most of the errors are quite fatal. For |