delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/07/24/19:30:35

Xref: news2.mv.net comp.os.msdos.djgpp:6370
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
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 :-)

- Raw text -


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