Xref: news-dnh.mv.net comp.os.msdos.djgpp:2044 Path: news-dnh.mv.net!mv!news.sprintlink.net!in2.uu.net!noc.near.net!das-news2.harvard.edu!oitnews.harvard.edu!newsfeed.rice.edu!news.sesqui.net!uuneo.neosoft.com!news!sandmann From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: interrupt stops being invoked Date: Wed, 13 Sep 1995 21:51:55 CDT Organization: NeoSoft Internet Services +1 713 968 5800 Lines: 15 References: <437gve$2iv AT st-james DOT comp DOT vuw DOT ac DOT nz> Reply-To: sandmann AT praline DOT no DOT NeoSoft DOT com Nntp-Posting-Host: praline.no.neosoft.com To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp > Make sure you do not compile with optimizations (esp. not -O3) as these > can shift code about. If your interrupt routine uses any static variables > (ie in the data seg) then lock these as well. All excellent observations. > And a question. Is the stack locked? No, which is another reason I said just lock everything with the C wrappers. Since you usually can't be sure where you will be on the stack when a HW int/RMCB happens, you would need to lock the entire stack. By the time you lock the code, all the various data separately, and the stack, you may have missed something (oooops - crash). And trying to explain this in a coherent fashion to a newbie - well ... lets just lock it all :-) Maybe a flag someplace to bypass the locking for the wizards?