-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix deadlock when secure tunnel sends multi-frame messages (#65)
* Fix deadlock when secure tunnel sends multi-frame messages * On commit 0119fb3 the secure tunneling library introduced a condition variable to limit no more than one frame (15kb) being copied to the websocket event loop at a time. * The synchronization mechanism will deadlock when more than one frame of data are sent and the the thread used by the client to send data and the websocket thread are the same. * Since the secure tunneling module makes redundant copies of each frame before queuing on the websocket event loop there is no apparent reason for limiting the number of frames copied to the websocket event loop. * This commit removes all synchronization from the public api used to send data using a secure tunnel. * Unit tests are added that exercise the public api using payloads consisting of one or more frames.
- Loading branch information
1 parent
d5dacf8
commit e3ea832
Showing
4 changed files
with
280 additions
and
43 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
Oops, something went wrong.