Lines Matching full:pd

33 static pid_t pdwait4_(int pd, int *status, int options, struct rusage *ru) {  in pdwait4_()  argument
35 return pdwait4(pd, status, options, ru); in pdwait4_()
39 int rc = pdgetpid(pd, &pid); in pdwait4_()
110 int pd = -1; in TEST() local
114 int pid = pdfork(&pd, 0); in TEST()
118 EXPECT_EQ(-1, pd); in TEST()
132 EXPECT_NE(-1, pd); in TEST()
135 EXPECT_OK(pdgetpid(pd, &pid_got)); in TEST()
149 int waitrc = pdwait4_(pd, &status, 0, &ru); in TEST()
152 fprintf(stderr, "For pd %d pid %d:\n", pd, pid); in TEST()
157 // Can only pdwait4(pd) once (as initial call reaps zombie). in TEST()
159 EXPECT_EQ(-1, pdwait4_(pd, &status, 0, &ru)); in TEST()
162 EXPECT_OK(close(pd)); in TEST()
166 int pd = -1; in TEST() local
167 int pid = pdfork(&pd, PD_DAEMON<<5); in TEST()
181 int pd = -1; in TEST() local
182 pid_t pid = pdfork(&pd, 0); in TEST()
186 EXPECT_EQ(-1, pdgetpid(pd, &pid)); in TEST()
195 EXPECT_OK(fstat(pd, &stat)); in TEST()
209 EXPECT_OK(pdgetpid(pd, &pd_pid)); in TEST()
215 int pd = -1; in TEST() local
216 pid_t pid = pdfork(&pd, 0); in TEST()
228 // pd*() operations should fail on a non-process descriptor. in TEST()
249 int pd; in ThreadMain() local
252 pid_t child = pdfork(&pd, 0); in ThreadMain()
278 if (verbose) fprintf(stderr, " thread generated pd %d\n", pd); in ThreadMain()
284 return reinterpret_cast<void *>(pd); in ThreadMain()
293 int pd = reinterpret_cast<intptr_t>(data); in TEST() local
294 if (verbose) fprintf(stderr, "retrieved pd %d from terminated thread\n", pd); in TEST()
298 EXPECT_OK(pdgetpid(pd, &pid)); in TEST()
299 EXPECT_OK(pdkill(pd, SIGKILL)); in TEST()
301 EXPECT_EQ(pid, pdwait4_(pd, &status, 0, NULL)); in TEST()
472 fprintf(stderr, "For pd %d -> pid %d:\n", pd_, pid_); in TEST_F()
532 // Having closed the process descriptor means that pdwait4(pd) now doesn't work. in TEST_F()
573 int pd; in FORK_TEST() local
575 pid_t pid = pdfork(&pd, 0); in FORK_TEST()
604 EXPECT_OK(close(pd)); in FORK_TEST()
607 EXPECT_SYSCALL_FAIL(EBADF, pdwait4_(pd, &status, WNOHANG, NULL)); in FORK_TEST()
610 EXPECT_OK(pdkill(pd, SIGKILL)); in FORK_TEST()
613 int rc = pdwait4_(pd, &status, WNOHANG, NULL); in FORK_TEST()
629 // ...the zombie is reaped but we can still subsequently pdwait4(pd). in TEST_F()
637 // If we pdwait4(pd) first... in TEST_F()
660 static void TestPdkill(pid_t pid, int pd) { in TestPdkill() argument
663 EXPECT_OK(pdkill(pd, SIGCONT)); in TestPdkill()
667 EXPECT_OK(pdkill(pd, SIGINT)); in TestPdkill()
672 EXPECT_EQ(0, pdkill(pd, SIGINT)); in TestPdkill()
677 EXPECT_EQ(-1, pdkill(pd, SIGINT)); in TestPdkill()
690 int pd = -1; in TEST() local
693 int pid = pdfork(&pd, 0); in TEST()
714 EXPECT_EQ(-1, pdkill(pd, 0xFFFF)); in TEST()
719 pdkill(pd, SIGUSR1); in TEST()
743 int pd; in PdforkParentDeath() local
747 pid_t grandchild = pdfork(&pd, pdfork_flags); in PdforkParentDeath()
876 int pd; in FORK_TEST() local
879 pid_t pid = pdfork(&pd, 0); in FORK_TEST()
903 EXPECT_OK(pdgetpid(pd, &pd_pid)); in FORK_TEST()
910 EXPECT_OK(pdkill(pd, SIGINT)); in FORK_TEST()
918 int pd; in FORK_TEST() local
921 pid_t pid = pdfork(&pd, 0); in FORK_TEST()
941 EXPECT_OK(pdkill(pd, SIGINT)); in FORK_TEST()
975 int pd = -1; in TEST() local
976 pid_t pid = pdfork(&pd, 0); in TEST()
986 int cap_incapable = dup(pd); in TEST()
991 int cap_capable = dup(pd); in TEST()
1004 int rc = pdwait4_(pd, &status, 0, NULL); in TEST()
1043 int pd = *(int*)CMSG_DATA(cmptr); in TEST_F() local
1047 if (verbose) fprintf(stderr, " [%d] got process descriptor %d on socket\n", getpid_(), pd); in TEST_F()
1050 // Child: confirm we can do pd*() operations on the process descriptor in TEST_F()
1052 EXPECT_OK(pdgetpid(pd, &other)); in TEST_F()
1053 if (verbose) fprintf(stderr, " [%d] process descriptor %d is pid %d\n", getpid_(), pd, other); in TEST_F()
1058 if (verbose) fprintf(stderr, " [%d] close process descriptor %d\n", getpid_(), pd); in TEST_F()
1059 close(pd); in TEST_F()