[devel] Виснет conftest с alarm и sleep
Aleksey Cheusov
vle на gmx.net
Вт Май 28 14:33:49 MSK 2024
Ниже приведен фрагмент из autoconf-овского conftest.c
При запуске из bulk build-a виснет на 50 дней.
Ни у кого нет идей, почему такое может происходить?
Воспроизвести локально не получается.
Для чистоты эксперимента воспроизвел переменные окружения и ulimit -- не
воспроизводится.
kernel -- 5.4.28-std-def-alt1
libc -- glibc-2.32-alt5.p10.2
#include <errno.h>
#include <unistd.h>
#include <signal.h>
static void
handle_alarm (int sig)
{
if (sig != SIGALRM)
_exit (2);
}
int
main (void)
{
/* Failure to compile this test due to missing alarm is okay,
since all such platforms (mingw) also lack sleep. */
unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */
unsigned int remaining;
signal (SIGALRM, handle_alarm);
alarm (1);
remaining = sleep (pentecost);
if (remaining > pentecost)
return 3;
if (remaining <= pentecost - 10)
return 4;
return 0;
;
return 0;
}
Подробная информация о списке рассылки Devel