Lines Matching refs:ffi

483 	struct fio_fork_item *ffi;  in fio_server_add_fork_item()  local
485 ffi = malloc(sizeof(*ffi)); in fio_server_add_fork_item()
486 ffi->exitval = 0; in fio_server_add_fork_item()
487 ffi->signal = 0; in fio_server_add_fork_item()
488 ffi->exited = 0; in fio_server_add_fork_item()
489 ffi->pid = pid; in fio_server_add_fork_item()
490 flist_add_tail(&ffi->list, list); in fio_server_add_fork_item()
505 static void fio_server_check_fork_item(struct fio_fork_item *ffi) in fio_server_check_fork_item() argument
509 ret = waitpid(ffi->pid, &status, WNOHANG); in fio_server_check_fork_item()
512 log_err("fio: connection pid %u disappeared\n", (int) ffi->pid); in fio_server_check_fork_item()
513 ffi->exited = 1; in fio_server_check_fork_item()
516 } else if (ret == ffi->pid) { in fio_server_check_fork_item()
518 ffi->signal = WTERMSIG(status); in fio_server_check_fork_item()
519 ffi->exited = 1; in fio_server_check_fork_item()
523 ffi->exitval = WEXITSTATUS(status); in fio_server_check_fork_item()
524 ffi->exited = 1; in fio_server_check_fork_item()
529 static void fio_server_fork_item_done(struct fio_fork_item *ffi) in fio_server_fork_item_done() argument
531 dprint(FD_NET, "pid %u exited, sig=%u, exitval=%d\n", (int) ffi->pid, ffi->signal, ffi->exitval); in fio_server_fork_item_done()
536 fio_net_send_stop(server_fd, ffi->exitval, ffi->signal); in fio_server_fork_item_done()
538 flist_del(&ffi->list); in fio_server_fork_item_done()
539 free(ffi); in fio_server_fork_item_done()
545 struct fio_fork_item *ffi; in fio_server_check_fork_items() local
548 ffi = flist_entry(entry, struct fio_fork_item, list); in fio_server_check_fork_items()
550 fio_server_check_fork_item(ffi); in fio_server_check_fork_items()
552 if (ffi->exited) in fio_server_check_fork_items()
553 fio_server_fork_item_done(ffi); in fio_server_check_fork_items()