This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: cygwin stable and cvs snapshot - fork() bug
- From: <michael dot vogt at post dot ch>
- To: <cygwin at cygwin dot com>
- Date: Thu, 1 Nov 2007 09:43:04 +0100
- Subject: RE: cygwin stable and cvs snapshot - fork() bug
- References: <C0ED6A2866953E4487135B5DFCFF89A501C04512@hmsx21.pnet.ch> <4721DFCC.8070100@cygwin.com> <C0ED6A2866953E4487135B5DFCFF89A501C048D6@hmsx21.pnet.ch> <20071029083512.GA4224@calimero.vinschen.de> <C0ED6A2866953E4487135B5DFCFF89A501C04A65@hmsx21.pnet.ch> <4725D656.5090303@cygwin.com>
> If you want anything like this to be looked at faster, the best thing
> you can do is http://www.cygwin.com/acronyms/#PPAST. Apparently the
> cygwin developers have not so far been interested to download mpd,
> make unspecified changes to the mpd sources to get them to compile
> (the changes you listed on the bug report were not sufficient), and
> then setup the configuration files for mpd, figure out what mpd is
> supposed to do, and THEN debug the problem.
...
> Lev
hey, thanks for your reply
ok i tried to create a STC, but i'm don't really know ipc and shared
mem.. anyway i traced down the part, which cause trouble
(init code, called before the fork occours)
if ((shmid = shmget(IPC_PRIVATE, allocationSize, IPC_CREAT | 0777)) < 0)
FATAL("problems shmget'ing\n");
//if ((shmid = shmget(IPC_PRIVATE, allocationSize, IPC_CREAT | 0600)) <
0) FATAL("problems shmget'ing\n");
if (!(playerData_pd = shmat(shmid, NULL, 0))) FATAL("problems
shmat'ing\n");
if (shmctl(shmid, IPC_RMID, NULL) < 0) FATAL("problems shmctl'ing\n");
when i comment out
if (shmctl(shmid, IPC_RMID, NULL) < 0) FATAL("problems
shmctl'ing\n");
mpd works like a charm.
IPC_RMID is used to mark the segment as destroyed. It
will actually be destroyed after the last
detach. (I.e., when the shm_nattch member of
the associated structure shmid_ds is zero.)
The user must be the owner, creator, or the
super-user.
can someone explain me, what i just did? I also tried to change the
shmget rights from 0600 to 0777.
thanks in advance
michu
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/