История изменений
Исправление 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;
}
вы уверены?