Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4221e2cc authored by Josh Gao's avatar Josh Gao
Browse files

base: hopefully fix the mac build.

Test: none
Change-Id: Idd4f353a158a0c096d16ecf87e239c50aba79cf7
parent 287e8348
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -100,9 +100,23 @@ using unique_fd = unique_fd_impl<DefaultCloser>;
// Inline functions, so that they can be used header-only.
inline bool Pipe(unique_fd* read, unique_fd* write) {
  int pipefd[2];

#if defined(__linux__)
  if (pipe2(pipefd, O_CLOEXEC) != 0) {
    return false;
  }
#else  // defined(__APPLE__)
  if (pipe(pipefd) != 0) {
    return false;
  }

  if (fcntl(pipefd[0], F_SETFD, FD_CLOEXEC) != 0 || fcntl(pipefd[1], F_SETFD, FD_CLOEXEC) != 0) {
    close(pipefd[0]);
    close(pipefd[1]);
    return false;
  }
#endif

  read->reset(pipefd[0]);
  write->reset(pipefd[1]);
  return true;