The problem with multitasking under DOS is that the DOS int 21h call will
switch stacks before doing anything useful. That means you cannot multitask
DOS calls in the same virtual machine (unless you provide a fully emulated
DOS environment as my RDOS OS did some 10 years ago). BIOS is less
problematic, but also has static data that wasn't designed for multitasking.
So you need to put a big lock on DOS and BIOS calls, and you cannot use APIs
that block (because that will block everything).
Leif
----- Original Message -----
From: "Bernd Oppolzer" <bernd.oppol...@t-online.de>
To: "FPC developers' list" <fpc-devel@lists.freepascal.org>
Sent: Thursday, September 26, 2013 11:40 AM
Subject: Re: [fpc-devel] Multithreading under DOS
Am 26.09.2013 11:07, schrieb Tomas Hajny:
Here the old style ("light weight" / "internal" multi-thread enabled)
pthread lib might help. Supposedly same does not need to be "installed"
but could be statically linked to.
You can run another operating system on top of DOS (that's basically what
DOS extenders did), but you still need to find the solution first (and
the
solution is not the "POSIX threads library", but the "extender").
Tomas
I believe that DOS from its design is so limited that the only
solution is what OS/2 did: isolate every DOS session and
give it an own - single threaded - copy of a virtual machine,
where DOS can run the old DOS applications.
The POSIX threads should be moved to or implemented on
"real" operating systems.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel