3 ms·
Windows 95's USER and GDI implementation was essentially an enhanced version of Win 3.1's. user32.dll and gdi32.dll were just thunking layers. The 16-bit compon
by dblohm7 1y ago
Windows 95's USER and GDI implementation was essentially an enhanced version of Win 3.1's. user32.dll and gdi32.dll were just thunking layers. The 16-bit components were guarded by a mutex named "Win16Mutex" to ensure serialized access to them from the 32-bit side.
- cyberax 1y agoThis mutex also protected a lot of other stuff. For example, if you wanted to access a DirectDraw surface, you needed to lock it in RAM, and this acquired the Win16 mutex. So if you then called a GDI function to draw something, it deadlocked the machine.
- dcrazy 1y agoReminds me of how even well into the PowerPC era, much of Mac OS was still written in 68000 assembler, including QuickDraw (the equivalent of GDI).