X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.0 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_34,J_CHICKENPOX_43,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <20090331112111.GB12738@calimero.vinschen.de> References: <20090331112111 DOT GB12738 AT calimero DOT vinschen DOT de> Date: Tue, 31 Mar 2009 17:11:27 +0530 Message-ID: Subject: Re: IPC,FORK on Windows 2008 Server From: Yarlagadda Suresh To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi, I am using shmget()/shmat() methods for getting the shared memory. I had tried running the same program which is given in the previous mention thread, the results are same as mentioned over there. I think it would tough to modify the shmget/shmat calls to mmap for my application. I believe V 1.7 is a Beta release, Can I know when the Official release wil= l be? Cheers, Suresh Kumar. On Tue, Mar 31, 2009 at 4:51 PM, Corinna Vinschen wrote: > On Mar 31 15:04, Yarlagadda Suresh wrote: >> Hi, >> >> I am using CYGWIN V 1.5.25-15 on Windows 2008 Standard Server Edition wi= th SP1. >> >> I have a program which does the following : >> >> 1. The main process gets shared memory, opens an index file (through >> Btrieve API). > > How does it get shared memory? =A0Does it use mmap() or does it use > shmget()/shmat()? =A0I assume the latter, since you're talking about IPC. > >> 2. If a record is found in the index file,the main process forks a child >> =A0 =A0 and the child process reads the index file and process the data. >> >> The program fails on the above system configuration giving the following= error: >> >> =A0 =A0 =A0 *** fatal error - MapViewOfFileEx (0x3D0000), Win32 error 48= 7. >> Terminating. > > This is probably not quite the same problem the thread from 2005 refers > to, even though the result looks pretty much identical. > > I remember that I changed the mmap() implementation to allocate shared > memory from the OS using the MEM_TOP_DOWN flag when Vista came out. =A0The > reason was that on Vista there was a very high probability that the > memory region requested without that flag would collide with a DLL > loaded into memory at this address. =A0I did not change the way the memory > region is allocated =A0for shmget(), though. > > Heading straight to a Cygwin 1.7 release, we won't change Cygwin 1.5.25 > anymore, though. =A0You have three choices: > > - Check if mmap() doesn't already do what you need, rather than using > =A0shmget()/shmat(). =A0It would also allow to run your application witho= ut > =A0having to run cygserver. > > - Install a Cygwin 1.7 test release[1] and see if it fixes your problem > =A0already. =A0If not, I have an idea what to change. > > > Corinna > > > [1] http://cygwin.com/ml/cygwin-announce/2009-03/msg00087.html > > -- > Corinna Vinschen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Please, send mails re= garding Cygwin to > Cygwin Project Co-Leader =A0 =A0 =A0 =A0 =A0cygwin AT cygwin DOT com > Red Hat > > -- > Unsubscribe info: =A0 =A0 =A0http://cygwin.com/ml/#unsubscribe-simple > Problem reports: =A0 =A0 =A0 http://cygwin.com/problems.html > Documentation: =A0 =A0 =A0 =A0 http://cygwin.com/docs.html > FAQ: =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://cygwin.com/faq/ > > -- 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/