Path: utzoo!attcan!uunet!decwrl!sdd.hp.com!samsung!sol.ctr.columbia.edu!cica!iuvax!maytag!watserv1!broehl From: broehl@watserv1.waterloo.edu (Bernie Roehl) Newsgroups: comp.os.msdos.programmer Subject: Re: Programming the Mouse Message-ID: <1990Aug2.140351.4185@watserv1.waterloo.edu> Date: 2 Aug 90 14:03:51 GMT References: <1990Jul30.182430.7493@uokmax.uucp> <34725@ut-emx.UUCP> <1990Jul31.193800.18227@uokmax.uucp> Organization: University of Waterloo Lines: 14 In article <1990Jul31.193800.18227@uokmax.uucp> gene@uokmax.uucp (Gene E. Johannsen) writes: >Anyway, I found my problem. It is the 'int 21h' that freezes it. I honestly >don't know why. It's because DOS is not re-entrant. You may be in the midst of a DOS call when a mouse interrupt comes along; you call DOS again from your handler, and since DOS has only one internal stack you overwrite what was there previously. Your call completes, you get your *, then the handler returns to a clobbered stack and your system goes to Sudbury. -- Bernie Roehl, University of Waterloo Electrical Engineering Dept Mail: broehl@watserv1.waterloo.edu OR broehl@watserv1.UWaterloo.ca BangPath: {allegra,decvax,utzoo,clyde}!watmath!watserv1!broehl Voice: (519) 885-1211 x 2607 [work]