[d-kernel] shmctl: Invalid argument

Denis Ovsienko pilot at altlinux.ru
Thu Dec 11 12:57:08 MSK 2003


>   Указанное "shmctl: Invalid argument" при правильном
>   использовании error() появляется, если shmdt(result)
>   выполнить ДО shmctl(shmid, IPC_RMID, NULL).
Естественно. shmctl(IPC_RMID) всего-то и делает, что выставляет флаг,
который говорит о том, что при detach от памяти нужно убить её, если
счётчик attached процессов нулевой. Естественно, shmid при этом должен
быть валидным (и приаттаченным).
Этот эффект я доказывал с примером в devel@, когда спорил с ldv@
насчёт hasher, правда, потом выяснилось, что я не понял тему спора.
Я специально не исследовал эффекты от shmctl() на детачнутой памяти, но
такой порядок работы, мне кажется, никто и заявлял.


--
    DO4-UANIC


More information about the devel-kernel mailing list