-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Properly handle slow track acceptance
In case the Pathfinder server was very slow (>idle timeout) to respond to libpaf client's track request, libpaf attempted to generate an inform message in a not-yet-accepted protocol transaction, triggering a libpaf Pathfinder protocol module-level assertion. With this change, libpaf restarts the link in such a case. This bug could likely also have been triggered by an application failing to call paf_process(), even though the context's fd had been active for a long time. While a violation of the API contract, it still shouldn't trigger an assertion. At least in theory, the cause of such a failure could be scheduling latency (i.e., the application's thread is being starved). This bug only affected Pathfinder protocol v3 connections. Resolves #34. Signed-off-by: Mattias Rönnblom <[email protected]>
- Loading branch information
1 parent
ff85a5f
commit caa4755
Showing
3 changed files
with
37 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters