LINUX.ORG.RU

История изменений

Исправление next_time, (текущая версия) :

static int
set_cloexec_or_close(int fd)
{
	long flags;

	if (fd == -1)
		return -1;

	flags = fcntl(fd, F_GETFD);
	if (flags == -1)
		goto err;

	if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
		goto err;

	return fd;

err:
	close(fd);
	return -1;
}

вместо

static int
set_cloexec_or_close(int fd)
{
	if (fd == -1) return -1;
	if (fcntl(fd, F_GETFD) == -1 
             || fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
	{ close(fd);
	  return -1;
        }
	return fd;	
}

вы уверены?

Исходная версия next_time, :

static int
set_cloexec_or_close(int fd)
{
	long flags;

	if (fd == -1)
		return -1;

	flags = fcntl(fd, F_GETFD);
	if (flags == -1)
		goto err;

	if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
		goto err;

	return fd;

err:
	close(fd);
	return -1;
}

вместо

static int
set_cloexec_or_close(int fd)
{
	if (fd == -1) return -1;
	if (fcntl(fd, F_GETFD) == -1 
             || fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
	{ close(fd);
	  return -1;
        }
	return fd;	
}

вы уверены?