DevCon for OS/2 - Developer Connection |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
|
|
|
Development of SMP-safe applications and multi-thread applications are different things.
Start from reading SMP.INF
Useful articles
FAQ
Q1: What is the difference between _beginthread and DosCreatThread? When using the _beginthread and _endthread functions, you must specify the /Gm+ compiler option to use the multithread libraries. An alternative to this function is the OS/2 DosCreateThread API. If you use DosCreateThread, you must also use a #pragma handler statement for the thread function to ensure proper C exception handling. You should also call the _fpreset function at the start of the thread to preset the 387 control status word correctly. Using DosCreateThread requires that you use _endthread to terminate the thread.
Q2: How to create SMP-safe application?
Q3: How to organize SMP-safe write to file?
volatile int InStatusLine = 0;
// Use __lxchg to implement fast-RAM semaphores to serialize access
// to a critical resource (so that only one thread can use it at a time).
while (__lxchg(&InStatusLine, 1))
{
DosSleep(1);
}
// write to file here
// restore the value
__lxchg(&InStatusLine, 0);
Q4: Maximal quantity of threads? |
|
||
|
ArcaOS 5.1.1 - DOS works againDOS virtual machine works again (it was working on Core 2 Duo, and didn't for i5). Install ArcaOS in UEFI mode to use DOS VM. |
Panorama VESA video driver for OS/2eCo Software have released Panorama VESA driver in 2007 - OS/2 survived the crisis |
// надо на ENG!!
Buy OS/2 application:
DVD/CD Toys
|
| Every conference is important. |
Warpstock Europe 2017
Interview with Roderick Klein
What was happening at that conference? |