extern void gpr_child_loop(int *read_flag, int *write_flag,
unsigned long *gpr_buf, double *fpr_buf);
-void gpr(void)
+static int child(void)
{
unsigned long gpr_buf[32];
double fpr_buf[32];
shmdt((void *)cptr);
- if (validate_gpr(gpr_buf, GPR_3))
- exit(1);
+ FAIL_IF(validate_gpr(gpr_buf, GPR_3));
+ FAIL_IF(validate_fpr_double(fpr_buf, c));
- if (validate_fpr_double(fpr_buf, c))
- exit(1);
-
- exit(0);
+ return 0;
}
int trace_gpr(pid_t child)
return TEST_FAIL;
}
if (pid == 0)
- gpr();
+ exit(child());
if (pid) {
pptr = (int *)shmat(shm_id, NULL, 0);