Mail Archives: djgpp-workers/1996/03/11/12:05:32
I've recently been working on getting Executor working reliably under
WinNT. If I run it in "full screen" mode, everything is fine. If I
start from non-fullscreen mode, it sometimes crashes in morecore. I
investigated and discovered it's dying in morecore on this line:
op->ov_next = (union overhead *)((char *)op + sz);
with op == 0xffda0000. My first guess would be that the new sbrk
algorithm loses under WinNT because it doesn't let us do the fat %ds
hack (makes sense, since it's a huge security hole), and when we
happen to get a non-contiguous sbrk value we lose. This might happen
in non-fullscreen mode either because (1) fullscreen programs get
their own entire address space, ala Unix, or (2) fullscreen programs
just happen to get contiguous sbrk data.
Does this sound plausible? Any better ideas?
-Mat
- Raw text -