if (errno != ENODEV) error("fcntl(%d, F_SETFL, O_NONBLOCK): %s", fd, strerror(errno));
debug("fcntl(%d, F_SETFL, O_NONBLOCK): %s", fd, strerror(errno));
unset_nonblock(int fd){	int val;	val = fcntl(fd, F_GETFL, 0);	if (val < 0) {		error("fcntl(%d, F_GETFL, 0): %s", fd, strerror(errno));		return;	}	if (!(val & O_NONBLOCK)) {		debug2("fd %d is not O_NONBLOCK", fd);		return;	}	debug("fd %d clearing O_NONBLOCK", fd);	val &= ~O_NONBLOCK;	if (fcntl(fd, F_SETFL, val) == -1)		if (errno != ENODEV)			error("fcntl(%d, F_SETFL, O_NONBLOCK): %s",			    fd, strerror(errno));}