diff --git a/src/scheme.rs b/src/scheme.rs
index 57e62b876a..7a81acdafd 100644
--- a/src/scheme.rs
+++ b/src/scheme.rs
@@ -85,8 +85,6 @@ impl IpcScheme {
handle.notified_write = true;
post_fevent(file, *id, EVENT_WRITE)?;
}
- } else {
- handle.notified_write = false;
}
},
Extra::Client(ref mut client) => {
@@ -110,6 +108,14 @@ impl IpcScheme {
Ok(())
}
}
+
+fn connect(target: &mut Handle, new_id: usize) -> Result<()> {
+ if target.remote != Connection::Waiting {
+ return Err(Error::new(ECONNREFUSED));
+ }
+ target.remote = Connection::Open(new_id);
+ Ok(())
+}
impl SchemeBlockMut for IpcScheme {
fn open(&mut self, path: &[u8], flags: usize, _uid: u32, _gid: u32) -> Result