On Tue, Apr 06, 2004 at 05:08:36AM -0400, Ivan Adzhubey wrote: > On Tuesday 06 April 2004 04:57 am, Sergey Vlasov wrote: > > On Wed, Mar 24, 2004 at 05:17:29PM -0500, Ivan Adzhubey wrote: > > > На 2.4.25-std-smp-alt1 по-прежнему не работает SysV shared memory, > > > shmget() падает молча. Не работает ни от пользователя, ни от рута. Не > > > работают ни собственные программы (C), ни сторонние бинарники, ни Perl > > > modules. Может надо пользователя куда добавить? Но почему тогда даже от > > > рута не работает? Это какой-то секурити патч подсуетился? На ванильном > > > ядре на той же машине все работает as expected. > > > > В ядре 2.4.25-std-{up,smp}-alt3 добавлена возможность настройки > > поведения ядра при обнаружении неиспользуемых сегментов разделяемой > > памяти. Это делается через sysctl kernel.shm_destroy_unused. По > > умолчанию установлено значение 1 - неиспользуемые сегменты > > разделяемой памяти будут уничтожаться немедленно. При установке > > этого параметра в 0 сегменты разделяемой памяти будут уничтожаться > > только при явном вызове IPC_RMID. > > С этим я уже разобрался, но видимо что-то еще сломано (пардон, пропатчено ;). > Процесс запрашивает блок shm, форкает другой и этот другой уже не может к > сегменту обращаться. Причем это как-то связано с размером, блок должен быть > или достаточно большой или очень маленький. Точнее пока не разобрался, нет > времени. Но обидно что эти же программы прекрасно работают на всех других > ядрах, кроме альтовского. Неохота честно говоря тратить время на научный > проект по выявлению различий. Может кто-то из разработчиков все же примет на > себя труд потестировать? Программы могу выслать. Или вот хотя бы тест из > модуля IPC::SharedSimple прогнать. Неужели никому это неинтересно, никто shm > интерфейс не использует в своих программах? И не надо опять писать, что вот > XFree86 и MySQL работают значит все в порядке. Мне от этого не легче - > хотелось бы узнать почему они работают, а другие программы - нет?? Если есть тест на C небольшого размера, то я могу посмотреть. -- ldv