pid_
#define ev_child_set(ev,pid_,trace_) do { (ev)->pid = (pid_); (ev)->flags = !!(trace_); } while (0)
EXPECT_PID_DEAD(pid_);
pid_ = rc;
if (pid_ > 0) {
kill(pid_, SIGKILL);
waitpid(pid_, NULL, WNOHANG);
pid_t pid_;
EXPECT_PID_ALIVE(pid_);
EXPECT_EQ(pid_, waitrc);
fprintf(stderr, "For pd %d -> pid %d:\n", pd_, pid_);
EXPECT_PID_GONE(pid_);
EXPECT_PID_ALIVE(pid_);
EXPECT_PID_DEAD(pid_);
EXPECT_EQ(pid_, rc);
pid_ = 0;
EXPECT_PID_ALIVE(pid_);
EXPECT_EQ(0, waitpid(pid_, &status, WNOHANG));
EXPECT_PID_DEAD(pid_);
EXPECT_EQ(-1, waitpid(pid_, NULL, 0));
EXPECT_EQ(pid_, waitpid(pid_, &status, WNOHANG));
EXPECT_PID_ALIVE(pid_);
EXPECT_PID_ALIVE(pid_);
EXPECT_EQ(0, waitpid(pid_, &status, WNOHANG));
EXPECT_PID_DEAD(pid_);
int rc = waitpid(pid_, &status, 0);
EXPECT_EQ(pid_, rc);
EXPECT_EQ(pid_, rc);
EXPECT_EQ(-1, waitpid(pid_, &status, 0));
EXPECT_PID_ALIVE(pid_);
if (pid_ > 0) {
EXPECT_OK(kill(pid_, SIGKILL));
EXPECT_PID_DEAD(pid_);
TestPdkill(pid_, pd_);
TestPdkill(pid_, pd_);
EXPECT_EQ(pid_, waitpid(pid_, &rc, 0));
EXPECT_EQ(-1, waitpid(pid_, NULL, 0));
EXPECT_EQ(pid_, waitpid(pid_, &rc, 0));
EXPECT_PID_ZOMBIE(pid_); // Ensure child is truly dead.