Copilot commented on code in PR #13702:
URL: https://github.com/apache/trafficserver/pull/13702#discussion_r4038919343
##########
src/iocore/net/UnixNetAccept.cc:
##########
@@ -112,7 +112,7 @@ net_accept(NetAccept *na, void *ep, bool blockable)
if (res == -EAGAIN || res == -ECONNABORTED || res == -EPIPE) {
goto Ldone;
}
- if (na->server.sock.is_ok() && !na->action_->cancelled) {
+ if (na->action_->is_listening()) {
Review Comment:
The atomic pointer check is not coupled to the callback:
`NetAccept::stop_accept()` calls `action_->cancel()` without the action mutex,
so it can clear `_server` after this load and before either `handleEvent()`
branch below. The accept continuation treats fatal `EVENT_ERROR` as
abort-worthy, so this path can still reproduce the cancel/accept crash;
synchronize cancellation with the check and dispatch.
This issue also appears in the following locations of the same file:
- line 390
- line 583
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]