-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix stopping PFCP timers #83
Conversation
upf/upf_pfcp_server.c
Outdated
@@ -491,7 +491,7 @@ restart_response_timer (pfcp_msg_t * msg) | |||
upf_debug ("Msg Seq No: %u, idx %u\n", msg->seq_no, id); | |||
|
|||
if (msg->timer != ~0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can also drop the if
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
24430ba
to
572ac43
Compare
572ac43
to
2f34f1f
Compare
2f34f1f
to
1ae05e5
Compare
There was a corner case of timers "firing" after being stopped because their "user handles" being already collected into the 'expires' vector in pfcp_process(). This caused msg_pool corruption.
1ae05e5
to
5e4a3e8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
This is a "resurrection" of #7.
After we've reverted #7 and replaced it with #12, we first had the problem resurface in #44, which we mitigated to a degree by #49, but then we were hit by #80.
Fixes #80.