From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Ivan Adzhubey To: ALT Linux Sisyphus discussion list Subject: Re: [sisyphus] Shared memory - HELP PLEASE! Date: Thu, 25 Mar 2004 02:05:29 -0500 User-Agent: KMail/1.5.4 References: <20040223182241.028ed881.iadzhubey@rics.bwh.harvard.edu> <200403242336.15940.iadzhubey@rics.bwh.harvard.edu> <20040325094245.5814ff9b.bga-no-spam@kovgok.ru> In-Reply-To: <20040325094245.5814ff9b.bga-no-spam@kovgok.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200403250205.29511.iadzhubey@rics.bwh.harvard.edu> X-Authentication-Info: Submitted using SMTP AUTH at out008.verizon.net from [68.163.160.191] at Thu, 25 Mar 2004 01:08:29 -0600 X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Mar 2004 07:08:32 -0000 Archived-At: List-Archive: On Thursday 25 March 2004 01:42 am, Grigory Batalov wrote: > On Wed, 24 Mar 2004 23:36:15 -0500 > > Ivan Adzhubey wrote: > > Видимо придется все же самому разбираться. Может кто-нибудь поделится > > исходниками чего-то работающего с shm, что у него самого - работает? Или > > хотя бы фрагментом. Буду признателен. > > У меня сохранился небольшой тест. Кажется, без ошибок =). > Во время sleep(5) запустите ipcs - увидите выделенный 1К. > > $ gcc -g -Wall -O2 -o shmtest shmtest.c > $ ./shmtest & > $ ipcs > > ------ Shared Memory Segments -------- > key shmid owner perms bytes nattch status > 0x00000000 1245187 bga 700 1048576 1 Спасибо, Григорий! К сожалению, там все сложнее. Ваша программа работает, и такие простые тесты я уже научился сам писать ;). Проблема возникает когда a) есть минимум два процесса пользующихся этой памятью (хотя бы по очереди, например форкнутый child и его parent) b) используется блокировка (lock) А хотя нет, погодите! Кажется что-то видно... у вас запрашивается 2K памяти и выделяется 2K. А у меня вашей программе выделяется в четыре раза больше: ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 1736711 ivan 700 4194304 1 Кажется это все-таки баг. Сейчас проверю под другим ядром... Спасибо! -- Иван