Message-Id: Comments: Authenticated sender is From: "Salvador Eduardo Tropea (SET)" Organization: INTI To: sandmann AT clio DOT rice DOT edu (Charles Sandmann), eliz AT is DOT elta DOT co DOT il, djgpp-workers AT delorie DOT com Date: Wed, 22 Jul 1998 18:27:59 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: Ispell and pipes In-reply-to: <9807222106.AA14327@clio.rice.edu> References: from "Salvador Eduardo Tropea" at Jul 22, 98 05:00:57 pm Precedence: bulk sandmann AT clio DOT rice DOT edu (Charles Sandmann) wrote: > > > So, if you used the RMCB you would have to lock the buffers that you take > > > bytes out of and the code, but this would be fairly small and localized. > > > > But we want to make it: DJGPP program B calls a real mode function, > > the real mode funtion is a RMCB that was created by djgpp program A > > so the execution jumps to program A. > > As program B is in protected mode and in normal execution (not inside > > an ISR) we are shure that DOS isn't busy. > > That's our case. Now Eli question is if we need to lock the code just > > because CWSDPMI will check it even when DOS isn't busy. > > You need to lock the code, since program B may use lots of memory and > cause program A to be paged out. When the page fault happens CWSDPMI > won't be sure what the DOS state is. You know, but it doesn't ... Ugh! that's a very bad thing. Why CWSDPMI doesn't know? Why that's different than a page fault inside the program? Is because the RMCB is involved? The problem is only the transition from real mode to pmode? > If you don't lock it it may work 99% of the time and only fail on > memory tight machines. > > Locking the memory isn't that hard ... Is enough if I lock the routine where the RMCB transfers the control to pmode and nothing more? If no, why that's different than a page fault inside the application? (after all we *are* back in the pmode application and DOS isn't busy at all). We need to use ALL the code and data, because when the two programs are piped they can be using all the code, transfer data then B uses all the code, transfers data, etc... SET ------------------------------------ 0 -------------------------------- Visit my home page: http://set-soft.home.ml.org/ or http://www.geocities.com/SiliconValley/Vista/6552/ Salvador Eduardo Tropea (SET). (Electronics Engineer) Alternative e-mail: set-soft AT usa DOT net set AT computer DOT org ICQ: 2951574 Address: Curapaligue 2124, Caseros, 3 de Febrero Buenos Aires, (1678), ARGENTINA TE: +(541) 759 0013