Xref: news2.mv.net comp.os.msdos.djgpp:6370 From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Multithread question Date: Wed, 24 Jul 1996 17:13:02 CDT Organization: Rice University, Houston, Texas Lines: 16 Message-ID: <31f69fee.sandmann@clio.rice.edu> References: <9607231343 DOT aa19011 AT ailin DOT inti DOT edu DOT ar> Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: clio.rice.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp A couple of comments to reemphasize what I saw in a few other messages: 1) Because of the way DJGPP handles HW signals, you don't have to worry about DOS reentrancy (so no need to mess with InDos), and 2) The libc needs a substantial re-write to be multitasking/reentrant. Essentialy any part of the library which contains or references static and/or global variables needs some attention. Since most functions don't need 16K of transfer buffer, there probably needs to be the equivalent of "tbmalloc()/tbfree()" for some functions, and in some cases a "don't interrupt me or you'll be sorry flag". But if you are going to go to this trouble, you can also have most of the libc functions cooperatively yield as needed too. I decided it was just easier to move to a real operating system, however :-) Gee, next thing someone will want is the PM boot loader :-)