Commit Graph

24 Commits

Author SHA1 Message Date
Kristóf Tóth
8f80f49a86 Implement support for waiting for PipeIOServer to stop 2019-05-09 13:26:48 +02:00
Kristóf Tóth
b1d23f9d95 Daemonize all threads to avoid breaking IOLoop exception handling (i.e tornado) 2019-05-07 17:16:43 +02:00
Kristóf Tóth
9f23ff1d6b Change default permission (execute bit has no meaning on pipes) 2019-05-04 22:50:08 +02:00
Kristóf Tóth
d56efa9c4b Clarify why we use chmod instead of mkfifo's mode parameter 2019-05-04 22:49:45 +02:00
Kristóf Tóth
14ac1b82d1 Add strong close consistency guarantee to reader side 2019-05-04 22:34:28 +02:00
Kristóf Tóth
9ccb05a709 Add support for initializing pipes with specific permissions 2019-05-04 21:06:00 +02:00
Kristóf Tóth
aa7eea6242 Really fix deadlock causing race condition 2019-05-03 22:00:23 +02:00
Kristóf Tóth
dbe5b10482 Fix unblock race condition randomly leading to deadlocks 2019-05-03 17:31:57 +02:00
Kristóf Tóth
ca613644ac Implement thread-safe, blocking Deque class for reopen consistency 2019-05-02 23:14:08 +02:00
Kristóf Tóth
daabc6dd8e Add support for reopening closed pipes with consistency guarantees 2019-05-02 23:07:32 +02:00
Kristóf Tóth
024204e439 Make PipeIOServer API more consistent with clients 2019-04-17 14:10:47 +02:00
Kristóf Tóth
5ff2f6c27d Make PipeIOServer non-blocking 2019-04-10 12:40:51 +02:00
Kristóf Tóth
a2d6077619 Fix bugs with input pipe reading (messages beginning with b'\n' or ending with whitespace) 2019-04-02 14:15:46 +02:00
Kristóf Tóth
22d22bc5e3 Avoid providing default pipe locations in PipeIOServer 2019-04-02 11:47:21 +02:00
Kristóf Tóth
a3d2ea37d5 Fix exception leaving app in IO block (use non-blocing IO to teardown writer) 2019-04-01 14:36:11 +02:00
Kristóf Tóth
07c35cc8bf Operate on a byte level instead of utf8 strings only 2019-04-01 14:27:37 +02:00
Kristóf Tóth
1a28862129 Rework PipeIOServer to use "keep pipes open" model with robust unblocking 2019-03-28 16:25:53 +01:00
Kristóf Tóth
2aa673d2c9 Make pipe path attributes of PipeIOServer properties 2018-12-18 21:25:56 +01:00
Kristóf Tóth
d28ea355f7 Refactor pipe logic to a separate class 2018-12-16 21:22:20 +01:00
Kristóf Tóth
a389273779 Make handle_message() public 2018-12-16 19:16:01 +01:00
Kristóf Tóth
09abb0331d Refactor PipeIOServer.__init__() 2018-12-16 19:04:51 +01:00
Kristóf Tóth
5091380133 Implement testing the removal of IO pipes on server stop 2018-12-15 01:07:02 +01:00
Kristóf Tóth
295a53a44c Terminate process if any of the IO threads fail 2018-12-15 00:32:29 +01:00
Kristóf Tóth
86662b14d8 Refactor PipeIOServer implementation into several files 2018-12-14 17:36:53 +01:00