Branch: refs/heads/3.4
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 97cae9c01f893da42b5990c16976b6c65754f1a4
      
https://github.com/OpenSIPS/opensips/commit/97cae9c01f893da42b5990c16976b6c65754f1a4
  Author: Ravitez Dondeti <[email protected]>
  Date:   2026-05-12 (Tue, 12 May 2026)

  Changed paths:
    M net/net_tcp_proc.c

  Log Message:
  -----------
  net/tcp: close write-worker fd on async write error (#3874)

In the IO_WATCH_WRITE handler, when the stream write handler returns
<0 (e.g. TLS async write fails after the 2s handshake timeout), the
error branch breaks out of the switch before reaching the close(s)
call that the success/pending paths hit at line 327.

The fd s is delivered to the write worker via SCM_RIGHTS and is an
independent copy in the worker's fd table — it must be explicitly
closed on every exit path.  tcpconn_release_error() signals main to
close main's copy; close(s) closes the worker's copy.  Without it
one fd leaks per failed async write, confirmed: 7 leaked fds from
51 TLS OPTIONS (handshake timeout path) vs. 0 with the fix.

Cherry-pick of bffcf0035 from master.

Fixes: #3711



To unsubscribe from these emails, change your notification settings at 
https://github.com/OpenSIPS/opensips/settings/notifications

_______________________________________________
Devel mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to