#### Pre-Submission Checklist - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [x] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: - [x] PR should be backported to stable branches - [x] Tested changes locally - [x] Related to issue #3278
#### Description When websocket is closed, then possible race condition websocket removal and websocket keepalive functions.
[ws_frame.c:816](https://github.com/kamailio/kamailio/blob/ac4c2d4579f121395876de2cc6f7649f3c...) - setting socked state `WS_S_CLOSING` [ws_conn.c:703](https://github.com/kamailio/kamailio/blob/master/src/modules/websocket/ws_co...) - setting socket state `WS_S_REMOVING` and updates `rmticks` value.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3331
-- Commit Summary --
* websocket: ignoring keepalive for socket in the removing state (GH #3278)
-- File Changes --
M src/modules/websocket/ws_frame.c (5)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3331.patch https://github.com/kamailio/kamailio/pull/3331.diff
I pushed a slightly different commit, because yours is not putting back the tcp connection, so the reference counter is not set back. Can you check/test if all ok with the master branch?
I have cherrypicked 34c3c42b7fe44dbe88110415ec78400a7defde61 commit on my servers. For me, it works. I can use this fix for one month and then feedback. Then backport.
OK, closing this one.
Closed #3331.