On Tue, Dec 09, 2003 at 05:29:32PM +0300, Grigory Batalov wrote: > После переезда с ядра 2.4.20-alt10-smp на 2.4.22-std-smp-alt12 > от программы amdump (пакет amanda) наблюдаются сообщения: > > taper: FATAL shmctl: Invalid argument > > Я просмотрел исходники taper, его манипуляции с памятью > можно упростить до прилагаемого файла. > Указанное сообщение соответствует коду в taper.c: > > if(shmid == -1) return; /* nothing to destroy */ > if(shmctl(shmid, IPC_RMID, NULL) == -1) { > error("shmctl: %s", strerror(errno)); > } > > При запуске shmtest обычным пользователем видно, что память > выделяется и затем (через заданные 5 сек.) освобождается: > > $ ipcs > ------ Shared Memory Segments -------- > key shmid owner perms bytes nattch status > 0x00000000 262150 bga 700 1048576 1 > > > Однако, на ядре 2.4.20-alt10-smp программа завершается > молча, а на 2.4.22-std-smp-alt12 выходит сообщение: > > ./shmtest: : Unknown error 2339276 Не воспроизводится... И программа с ошибками - попробуйте приложенный исправленный вариант. gcc -o shmtest -g -O2 -Wall -W shmtest.c