delorie.com/archives/browse.cgi | search |
Xref: | news-dnh.mv.net comp.os.msdos.djgpp:4160 |
Path: | news-dnh.mv.net!mv!news.sprintlink.net!news.magicnet.net!news.supernet.net!news.cais.net!news.qnet.com!news.av.qnet.com!avalon.softaware.com!nntp1.jpl.nasa.gov!usenet.eel.ufl.edu!news.mathworks.com!uhog.mit.edu!nntp.club.cc.cmu.edu!cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!newsfeed.rice.edu!rice!news!sandmann |
From: | Charles Sandmann <sandmann AT clio DOT rice DOT edu> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: cwsdpmi8 and 9 BUG |
Date: | Sat, 06 Jan 1996 09:55:15 CST |
Organization: | Rice University, Houston, Texas |
Lines: | 25 |
Message-ID: | <30ee9b63.sandmann@clio.rice.edu> |
References: | <DKqwnA DOT Mtq AT jade DOT mv DOT net> |
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 |
> beta6 and beta7 worked perfectly (well they didn't page fault) but > beta8 and beta9 both would page fault consistently when setting up the > interrupt vectors. This is a clear indication there is a bug in your program. A change was made between beta 7 and beta 8 to disallow any page faults from happening inside a HW interrupt handler or RMCB, for a very good reason. The DPMI specification clearly says that these pages must be locked in memory. If they are not, you may call DOS or the BIOS when they are interrupted and *DESTROY THE STRUCTURE OF YOUR HARD DISK*. This has happened to a few unfortunate folk when they were writing programs which were hooking HW interrupts. The decision was made (with the help of several people whom I value their opinions) that it is much better to force people to write correct code than to have them inadvertently destroy their hard disk occasionally. If locking is too much trouble, then use CWSDPR0.EXE, which does not support virtual memory and implicitly locks all pages, or at least touch all the memory in the address space to make sure it's paged in. > I think there also might be a bug when the swapfile is set to "", or maybe > its just I was trying to run on a 4 Mb machine and it ran out of memory. A swap file of "" means disable virtual memory. Since GCC frequently needs 4Mb of memory to run, you can't run GCC on a 4Mb machine without VM.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |