if ((r = read(m_state.s, &v, sizeof v)) != sizeof v) {
if ((r = m_read(m_state.s, &v, sizeof v)) < 1) {
monitor_loop(void){	u_int32_t	v;	ssize_t		r;	for (;;) {		if (sigchld) {			pid_t	pid;			int	status;			do {				pid = waitpid(m_state.pid, &status, WNOHANG);			} while (pid == -1 && errno == EINTR);			if (pid == m_state.pid &&			    (WIFEXITED(status) || WIFSIGNALED(status)))				break;		}		/* Wait for next snapshot task. Disregard read data. */		if ((r = read(m_state.s, &v, sizeof v)) != sizeof v) {			if (r == -1)				log_err(0, "monitor_loop: read() ");			break;		}		/* Get the data. */		m_priv_pfkey_snap(m_state.s);	}	if (!sigchld)		log_msg(0, "monitor_loop: priv process exiting abnormally");	exit(0);}