7 #ifndef __LIBCAMERA_INTERNAL_PROCESS_H__ 8 #define __LIBCAMERA_INTERNAL_PROCESS_H__ 32 int start(
const std::string &path,
33 const std::vector<std::string> &args = std::vector<std::string>(),
34 const std::vector<int> &fds = std::vector<int>());
44 void closeAllFdsExcept(
const std::vector<int> &fds);
46 void died(
int wstatus);
62 void registerProcess(
Process *proc);
66 int writePipe()
const;
68 const struct sigaction &oldsa()
const;
75 std::list<Process *> processes_;
77 struct sigaction oldsa_;
Manager of processes.
Definition: process.h:56
Signal< Process *, enum ExitStatus, int > finished
Definition: process.h:41
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:235
Process object.
Definition: process.h:20
Top-level libcamera namespace.
Definition: bound_method.h:15
Signal & slot implementation.
void kill()
Kill the process.
Definition: process.cpp:365
Generic signal and slot communication mechanism.
Definition: object.h:20
Notify of activity on a file descriptor.
Definition: event_notifier.h:17
ExitStatus
Exit status of process.
Definition: process.h:23
ExitStatus exitStatus() const
Retrieve the exit status of the process.
Definition: process.h:36
int exitCode() const
Retrieve the exit code of the process.
Definition: process.h:37