Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

NetShow Player 2.0 for Windows 3.1 - there's multithreading? (Developers)

posted by bocke, 20.08.2023, 00:33

> Or at least, this appears to be the purpose of NSTHRD16.DLL.
>
> There's a number of exported functions related to threading, like
> CREATHETHREAD(), GETCURRENTTHREAD() and GETCURRENTTHREADID() (which are
> identical to each other, opcodes and all), etc.
>
> There's also exported versions of various Windows API functions that are
> implemented elsewhere, like CREATEFILE(), READFILE(), WRITEFILE(), etc.
> Most of these reimplementations are simple wrappers around the DOS
> interrupt vector API.
>
> I'm trying to reverse engineer the threading code to determine how it
> performs it's magic, but while I'm doing that... does anyone here have any
> clue as to how it works? Or even how it might work? AFAIK, VMM only
> multitasks VMs, not individual Windows programs (which all share the root
> VM.)

Maybe it's a user-space implementation of the threads? Well, multithreading can be implemented on top of other APIs in the kernel (like in early Linux kernel). But, I'm not sure if Win16 exposes anything but cooperative multitasking to Win16 apps. So, maybe this threading code also use some kind of cooperative model using appropriate functions in Win16 API.

Just guessing. Sorry if I didn't help. :)

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 55 users online (0 registered, 55 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum