Mail Archives: djgpp/2011/07/13/14:30:17
Hi,
On Jul 13, 3:28 am, Georg <dos DOT DOT DOT AT googlemail DOT com> wrote:
>
> I looked at it again, the package is doing first a pipe() to establish
> the communication and then a fork() to spawn the process in a new
> daemon. Basically you can only use these functions if you have a multi-
> tasking operating system. Eli is absolutely right here.
DR-DOS 7.03 can multitask (with its own EMM386 and DPMI loaded), and
it's compatible with DJGPP.
See here:
http://www.drdos.com/dosdoc/
http://www.drdos.com/dosdoc/multtask/02mtch2.htm
Also, there's RDOS, which is free for non-commercial use, which may be
interesting, but I haven't tried it (and it prefers OpenWatcom):
http://www.rdos.net/rdos/index.htm
> A pipe() function seems to be in the libsupp library now and also
> there is a pipe() function in pth/pthreads but I do not understand
> that implementation.
libsupp seems to emulate a pipe using a temporary file. GNU pth is
cooperative only, so that's presumably not what you want.
> A fork() as fas as I know is not implemented with DJGPP. One may be
> able to convert the fork() in the package to a pthread_create() but I
> doubt that will work well in the end.
Well, I don't know what your goal is, so I can't say what replacements
are available. Like I said, be sure to search around, somebody may've
already done it (for DOS).
> I will have to see what can be done here. I may just statically link
> the functions of the to-be-spawned program with the main program and
> convert the socket communication to function calls. However, this then
> needs to be done for every new version of this package.
Whatever works! ;-)
- Raw text -