base: apply Red Bear patches on latest upstream/main
251 files: init, acpid, ipcd, netcfg, ihdgd, virtio-gpud, scheme-utils, inputd, block driver, ptyd, ramfs, randd, initfs bootstrap, path deps, version +rb0.3.1, author attribution
This commit is contained in:
@@ -55,9 +55,13 @@ impl<'sock> Blocking<'sock> {
|
||||
let response = req.handle_sync(scheme, &mut self.state);
|
||||
self.responses_to_write.push_back(response);
|
||||
}
|
||||
RequestKind::Cancellation(_req) => {}
|
||||
RequestKind::Cancellation(_req) => {
|
||||
// Cancellation requires the scheme to track in-flight
|
||||
// operations. The default blocking scheme has no
|
||||
// operation table; schemes that need cancellation
|
||||
// should override this loop.
|
||||
}
|
||||
RequestKind::OnClose { id } => {
|
||||
// TODO: state.on_close()
|
||||
scheme.on_close(id);
|
||||
}
|
||||
RequestKind::SendFd(sendfd_request) => {
|
||||
@@ -70,7 +74,11 @@ impl<'sock> Blocking<'sock> {
|
||||
let response = Response::open_dup_like(result, recvfd_request);
|
||||
self.responses_to_write.push_back(response);
|
||||
}
|
||||
_ => {}
|
||||
_ => {
|
||||
// Protocol-level messages (MmapMsg, MsyncMsg, MunmapMsg,
|
||||
// OnDetach) are not handled by the default blocking scheme.
|
||||
// Schemes that need them should override this loop.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +95,7 @@ impl<'sock> Blocking<'sock> {
|
||||
}) => {
|
||||
panic!("scheme response writing should always block");
|
||||
}
|
||||
Err(err) => Err(LError::from(err).into()),
|
||||
Err(err) => return Err(LError::from(err).into()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@ impl<'sock> ReadinessBased<'sock> {
|
||||
}) => {
|
||||
panic!("scheme response writing should always block");
|
||||
}
|
||||
Err(err) => Err(LError::from(err).into()),
|
||||
Err(err) => return Err(LError::from(err).into()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user