Fix: fallback to accept() when accept4() returns EINVAL on RedHat 9 #967
+15
−17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my first open-source contribution
I added a compatibility fallback inside the ngx_event_accept() function (in src/event/ngx_event_accept.c)
to handle the case where accept4() fails with EINVAL (Invalid argument) on RedHat Enterprise Linux 9 systems.
This fix ensures that NGINX continues accepting connections gracefully by falling back to accept()
when accept4() is unsupported or behaves inconsistently with the SOCK_NONBLOCK flag.