Date: Wed, 01 Oct 1997 15:52:05 +1100 From: Bill Currie Subject: Re: DJGPP, interprocess communication, and DPMI In-reply-to: To: "Salvador Eduardo Tropea (SET)" , michael DOT mauch AT gmx DOT de Cc: djgpp AT delorie DOT com Message-id: <199710010356.PAA16374@teleng1.tait.co.nz gatekeeper.tait.co.nz> Organization: Tait Electronics Limited MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Comments: Authenticated sender is Precedence: bulk On 30 Sep 97 at 14:13, Salvador Eduardo Tropea (SET) wrote: > michael DOT mauch AT gmx DOT de (Michael Mauch) wrote: > > Hmm, do you have a message ID for his posting? I could not find it, not > > even with DejaNews. > I think he posted the code first to the djggp-workers list and then > directly to me so if you aren't in djgpp-workers list you never got > it. Yes that's true. So here's my announcement: For those that are interrested, I have a device driver that provides a comminication/transfer buffer for djgpp programs that can be used (with a modified stub) as a common transfer buffer or an inter-process communcation buffer. If you're interrested, send me some email, and I will post you the relevant files (the driver source, modified djasm source and the modified stub). > > > Is easy to communicate only 2 process but for more I think is more complex. > > > Any ideas? > > > > One way to differentiate between more processes could be to use the > > Virtual Machine ID (Int 2F, 1683h) - or use the getpid() function from > > libc. > I think it can be used, but the complexity is in the syncronization. > What if one of the process hangs while have the control of the > channel?, I guess here we need a time out. What if one process is > too busy to answer ... etc. This could probably be handled by the driver (via IOCTL calls). In another posting, Eli mentioned the problem of multiple processes attempting to use the buffer for communication; maybe something like IP (as in TCP/IP) could be used, maybe port numbers (all the addresses would be 127.0.0.0 anyway (or is that 128?)). I've recently been considering putting in support for the windows instancing protocol so the driver can have process local data (eg timeouts, IP ports etc). Bill -- Leave others their otherness.