www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/07/23/09:34:37

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <9807231333.AA16334@clio.rice.edu>
Subject: Re: Ispell and pipes
To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
Date: Thu, 23 Jul 1998 08:33:58 -0600 (CDT)
Cc: salvador AT inti DOT gov DOT ar, djgpp-workers AT delorie DOT com
In-Reply-To: <Pine.SUN.3.91.980723094220.14884A-100000@is> from "Eli Zaretskii" at Jul 23, 98 09:42:54 am

> Do you suggest to make the I/O hooks in a child use a PM interrupt,
> and for the parent to install a PM handler for that interrupt?

Yes.  This was the plan to provide true signal handling between
processes also.

> Or do you suggest to pass CS:EIP between the parent and the child and
> use those to ljmp between them?

I expect there to be some ljmp'ing between them, yes.  You need to have
the PM interrupt to pass the information between the two and schedule
when ljmping is appropriate.

> If you meant the interrupt way, then which interrupt would you suggest
> to use?  Is the DPMI interrupt 31h a good candidate?

The tricky part is getting the parent to recognize it needs to 
establish the interrupt.  Once it's there it could be almost anything
that doesn't conflict with windows or something else (0x6?).  You want
to avoid 0x21 and 0x31 since they make things slow...

> Also, there's a question asked by Salvador about notifying the DPMI
> host that the client has been switched.  I presume that the host needs
> to know that, to correctly handle the client's requests.  But I don't
> know whether there's a way to do that, even for CWSDPMI.

The DPMI server only knows about one thing - how deeply nested it is.
Every call which takes place to the DPMI server does not matter what
the PSP of the caller is - since all it does is pass interrupts between
the two modes (RM/PM) and manage pooled resources (memory/swap).  If
you do an "exit" call it un-nests one level (or cleans up/reinit if the
last one) - which has an implicit ordering... If the PSPs are wrong when
this happens I don't know what will happen.  Only nesting start and
exit care about the PSP.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019