Date: Sun, 21 Jan 1996 12:35:57 +0000 (GMT) From: Shawn Hargreaves To: DJ Delorie , djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Problem with locking real mode callbacks in beta4 I just upgraded from beta3 to beta4 (good work, everyone! I like it...), and after spending a couple of hours locking all my interrupt handlers, 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 I am touching, and yet my system hangs every time I move the mouse. I have a suspicion that the problem is in the wrapper allocation code, which seems to be locking the wrong bits of memory... from gormcb.c: #define MALLOC_STACK() \ do { \ if (!stack_length) { \ stack_length = _go32_rmcb_stack_size; \ stack = (char *)malloc(stack_length); \ if (stack == 0) { \ free(wrapper); \ return 0x8015; \ } \ if( _go32_dpmi_lock_data( wrapper, \ stack_length) ) return 0x8015; \ Surely this should be the stack it is locking, and not the wrapper? Shawn Hargreaves If God is omnipotent, can he make a http://www.york.ac.uk/~slh100/ rock so heavy that he cannot lift it?