log_fatal ("[priv] bad call to monitor_open");  LOG_DBG ((LOG_SYSDEP, 95, "monitor_open: enter"));
{  return open (path, flags, mode); }
monitor_open (const char *path, int flags, mode_t mode){  int fd, mode32 = (int32_t) mode;  char realpath[MAXPATHLEN];  /* Only the child process is supposed to run this.  */  if (m_state.pid)    log_fatal ("[priv] bad call to monitor_open");  LOG_DBG ((LOG_SYSDEP, 95, "monitor_open: enter"));  if (path[0] == '/')    strlcpy (realpath, path, sizeof realpath);  else    snprintf (realpath, sizeof realpath, "%s/%s", m_state.root, path);  /* Write data to priv process.  */  if (m_write_int32 (m_state.s, MONITOR_GET_FD))    goto errout;  if (m_write_raw (m_state.s, realpath, strlen (realpath) + 1))    goto errout;  if (m_write_int32 (m_state.s, flags))    goto errout;  if (m_write_int32 (m_state.s, mode32))    goto errout;  /* Wait for response.  */  fd = mm_receive_fd (m_state.s);  if (fd < 0)    {      log_error ("monitor_open: open(\"%s\") failed", path);      return -1;    }  LOG_DBG ((LOG_SYSDEP, 95, "monitor_open: got fd %d", fd));  return fd; errout:  log_error ("monitor_open: problem talking to privileged process");  return -1;}