delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/01/21/07:49:46

Date: Sun, 21 Jan 1996 12:35:57 +0000 (GMT)
From: Shawn Hargreaves <slh100 AT unix DOT york DOT ac DOT uk>
To: DJ Delorie <dj AT delorie DOT com>, 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?


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019