Xref: news-dnh.mv.net comp.os.msdos.djgpp:4587 From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Problem with locking real mode callbacks in beta4 Date: Sun, 21 Jan 1996 14:56:49 CST Organization: Rice University, Houston, Texas Lines: 33 Message-ID: <3102a891.sandmann@clio.rice.edu> References: 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 > I have everything working except my mouse code. This installs a callback > routine with the int33 mouse driver, using _go32_dpmi_allocate_real_mode_ \ > callback_retf(); I am convinced that I have locked all the memory ... gormcb.c > seems to be locking the wrong bits of memory... A known bug, fixed in the current work in progress (which seems to be destined to become beta 5). Beta 4 also doesn't lock the RMCB register structure (that was also added in the updated code). Here is the patch: *** ../src/libc/go32/gormcb.c Fri Nov 17 00:24:56 1995 --- gormcb.c Sun Jan 14 14:29:24 1996 *************** *** 92,96 **** return 0x8015; \ } \ ! if( _go32_dpmi_lock_data( wrapper, \ stack_length) ) return 0x8015; \ ((long *)stack)[0] = STACK_WAS_MALLOCED; \ --- 92,96 ---- return 0x8015; \ } \ ! if( _go32_dpmi_lock_data( stack, \ stack_length) ) return 0x8015; \ ((long *)stack)[0] = STACK_WAS_MALLOCED; \ *************** *** 102,105 **** --- 102,107 ---- MALLOC_STACK(); + if( _go32_dpmi_lock_data(regs, sizeof(__dpmi_regs))) + return 0x8015; *(short *)(wrapper+0x06) = __djgpp_ds_alias;