本文整理汇总了C++中status::exited方法的典型用法代码示例。如果您正苦于以下问题:C++ status::exited方法的具体用法?C++ status::exited怎么用?C++ status::exited使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类status
的用法示例。
在下文中一共展示了status::exited方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: wait_children
inline status wait_children(Children &cs)
{
BOOST_ASSERT(cs.size() >= 2);
typename Children::iterator it = cs.begin();
while (it != cs.end())
{
const status s = it->wait();
++it;
if (it == cs.end())
return s;
else if (!s.exited() || s.exit_status() != EXIT_SUCCESS)
{
while (it != cs.end())
{
it->wait();
++it;
}
return s;
}
}
BOOST_ASSERT(false);
return cs.begin()->wait();
}
示例2: INV
/// Terminates the current process reproducing the given status.
///
/// The caller process is abruptly terminated. In particular, no output streams
/// are flushed, no destructors are called, and no atexit(2) handlers are run.
///
/// \param status The status to "re-deliver" to the caller process.
void
process::terminate_self_with(const status& status)
{
if (status.exited()) {
::_exit(status.exitstatus());
} else {
INV(status.signaled());
(void)::kill(::getpid(), status.termsig());
UNREACHABLE_MSG(F("Signal %s terminated %s but did not terminate "
"ourselves") % status.termsig() % status.dead_pid());
}
}