[Updated] D8443: rust-chg: have attach_io() simply take reference of AsRawFd object

yuja (Yuya Nishihara) phabricator at mercurial-scm.org
Thu Apr 23 18:02:32 UTC 2020


Herald added a subscriber: mercurial-patches.
Closed by commit rHGcb5822e6e545: rust-chg: have attach_io() simply take reference of AsRawFd object (authored by yuja).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8443?vs=21120&id=21187

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8443/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8443

AFFECTED FILES
  rust/chg/src/attachio.rs

CHANGE DETAILS

diff --git a/rust/chg/src/attachio.rs b/rust/chg/src/attachio.rs
--- a/rust/chg/src/attachio.rs
+++ b/rust/chg/src/attachio.rs
@@ -21,14 +21,12 @@
 /// 3. Client sends fds with 1-byte dummy payload in response.
 /// 4. Server returns the number of the fds received.
 ///
-/// If the stderr is omitted, it will be redirected to the stdout. This
-/// allows us to attach the pager stdin to both stdout and stderr, and
-/// dispose of the client-side handle once attached.
+/// The client-side fds may be dropped once duplicated to the server.
 pub async fn attach_io(
     proto: &mut Protocol<impl Connection + AsRawFd>,
-    stdin: impl AsRawFd,
-    stdout: impl AsRawFd,
-    stderr: Option<impl AsRawFd>,
+    stdin: &impl AsRawFd,
+    stdout: &impl AsRawFd,
+    stderr: &impl AsRawFd,
 ) -> io::Result<()> {
     // TODO: unindent
     {
@@ -56,7 +54,7 @@
                     let sock_fd = proto.as_raw_fd();
                     let ifd = stdin.as_raw_fd();
                     let ofd = stdout.as_raw_fd();
-                    let efd = stderr.as_ref().map_or(ofd, |f| f.as_raw_fd());
+                    let efd = stderr.as_raw_fd();
                     procutil::send_raw_fds(sock_fd, &[ifd, ofd, efd])?;
                 }
                 ChannelMessage::InputRequest(..)



To: yuja, #hg-reviewers, Alphare
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20200423/29555911/attachment.html>


More information about the Mercurial-patches mailing list