MPS issue job003704

TitleNo multi-threaded test cases on Windows
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionThe multi-threaded test cases and benchmarks (amcssth, awlutth, djbench, gcbench) don't run on Windows.
AnalysisThat's because the test cases are written using POSiX threads, which of course don't run on Windows.

We could use a POSIX threads library for Windows such as pthreads-w32 [1]. But the only POSIX thread features we actually use are pthread_t, pthread_create() and pthread_join() so it ought to be straightforward to add a portable threads wrapper to testlib.c.
How foundinspection
Evidence[1] <https://sourceware.org/pthreads-win32/>
Created byGareth Rees
Created on2014-03-18 16:22:36
Last modified byGareth Rees
Last modified on2014-06-19 19:16:06
History2014-03-18 GDR Created.

Fixes

Change Effect Date User Description
185354 closed 2014-04-08 16:26:27 Gareth Rees Fix bugs in exposet0.c and steptest.c on Windows.
Port djbench and gcbench to Windows.
Run amcssth and awlutth test cases on Windows.
185350 open 2014-04-08 15:14:32 Gareth Rees New header testthr.h provides simple threading interface.
Implementations testthrix.c for Unix and testthrw3.c for Windows.
Multi-threaded test cases use the new interface.
Rename lockutw3 to lockut (no longer Windows-specific).
Run multi-threaded test cases on Windows and lockut elsewhere.