34 int start(
const std::string &path,
35 const std::vector<std::string> &args = std::vector<std::string>(),
36 const std::vector<int> &fds = std::vector<int>());
48 void closeAllFdsExcept(
const std::vector<int> &fds);
50 void died(
int wstatus);
66 void registerProcess(
Process *proc);
70 int writePipe()
const;
72 const struct sigaction &oldsa()
const;
79 std::list<Process *> processes_;
81 struct sigaction oldsa_;
Utilities to help constructing class interfaces.
Manager of processes.
Definition: process.h:60
Signal< enum ExitStatus, int > finished
Definition: process.h:43
File descriptor wrapper that owns a file descriptor.
int start(const std::string &path, const std::vector< std::string > &args=std::vector< std::string >(), const std::vector< int > &fds=std::vector< int >())
Fork and exec a process, and close fds.
Definition: process.cpp:237
Process object.
Definition: process.h:22
Top-level libcamera namespace.
Definition: backtrace.h:17
Signal & slot implementation.
#define LIBCAMERA_DISABLE_COPY_AND_MOVE(klass)
Disable copy and move construction and assignment of the klass.
unique_ptr-like wrapper for a file descriptor
Definition: unique_fd.h:16
void kill()
Kill the process.
Definition: process.cpp:391
Notify of activity on a file descriptor.
Definition: event_notifier.h:19
ExitStatus
Exit status of process.
Definition: process.h:25
ExitStatus exitStatus() const
Retrieve the exit status of the process.
Definition: process.h:38
int exitCode() const
Retrieve the exit code of the process.
Definition: process.h:39