ChangeLog 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894
  1. 2005-06-12 Ross Johnson <[email protected]>
  2. * stress1.c (millisecondsFromNow): Remove limit 0 <= millisecs < 1000;
  3. now works for -INT_MAX <= millisecs <= INT_MAX; not needed for
  4. stress1.c but should be general anyway.
  5. 2005-05-18 Ross Johnson <[email protected]>
  6. * reuse2.c (main): Must use a read with memory barrier semantics
  7. when polling 'done' to force the cache into coherence on MP systems.
  8. 2005-05-15 Ross Johnson <[email protected]>
  9. * detach1.c: New test.
  10. * join1.c: Reduce sleep times.
  11. * join0.c: Remove MSVCRT conditional compile - join should always
  12. return the thread exit code.
  13. * join1.c: Likewise.
  14. * join2.c: Likewise.
  15. * join3.c: Likewise.
  16. 2005-04-18 Ross Johnson <[email protected]>
  17. * condvar3.c: Remove locks from around signalling calls - should not
  18. be required for normal operation and only serve to mask deficiencies;
  19. ensure that CV destruction is not premature after removing guards.
  20. * condvar3_1.c: Likewise.
  21. * condvar3_2.c: Likewise.
  22. * condvar3_3.c: Likewise.
  23. * condvar4.c: Likewise.
  24. * condvar5.c: Likewise.
  25. * condvar6.c: Likewise.
  26. * condvar7.c: Likewise.
  27. * condvar8.c: Likewise.
  28. * condvar9.c: Likewise.
  29. 2005-04-11 Ross Johnson <[email protected]>
  30. * once4.c: New test; tries to test priority adjustments
  31. in pthread_once(); set priority class to realtime so that
  32. any failures can be seen.
  33. 2005-04-06 Ross Johnson <[email protected]>
  34. * cleanup0.c: Fix unguarded global variable accesses.
  35. * cleanup1.c: Likewise.
  36. * cleanup2.c: Likewise.
  37. * cleanup3.c: Likewise.
  38. * once2.c: Likewise.
  39. * once3.c: Likewise.
  40. 2005-04-01 Ross Johnson <[email protected]>
  41. * GNUmakefile: Add target to test linking static link library.
  42. * Makefile: Likewise.
  43. * self1.c: Run process attach/detach routines when static linked.
  44. 2005-03-16 Ross Johnson <[email protected]>
  45. * mutex5.c: Prevent optimiser from removing asserts.
  46. 2005-03-12 Ross Johnson <[email protected]>
  47. * once3.c: New test.
  48. 2005-03-08 Ross Johnson <[email protected]>
  49. * once2.c: New test.
  50. 2004-11-19 Ross Johnson <[email protected]>
  51. * Bmakefile: New makefile for Borland.
  52. * Makefile (DLL_VER): Added.
  53. * GNUmakefile (DLL_VER): Added.
  54. * Wmakefile (DLL_VER): Added.
  55. 2004-10-29 Ross Johnson <[email protected]>
  56. * semaphore4.c: New test.
  57. * semaphore4t.c: New test.
  58. * Debug.dsp (et al): Created MSVC Workspace project to aid debugging.
  59. * All: Many tests have been modified to work with the new pthread
  60. ID type; some other corrections were made after some library
  61. functions were semantically strengthened. For example,
  62. pthread_cond_destroy() no longer destroys a busy CV, which
  63. required minor redesigns of some tests, including some where
  64. the mutex associated with the CV was not locked during
  65. signaling and broadcasting.
  66. 2004-10-23 Ross Johnson <[email protected]>
  67. * condvar3.c: Fixed mutex operations that were incorrectly
  68. placed in relation to their condition variable operations.
  69. The error became evident after sem_destroy() was rewritten
  70. and conditions for destroing the semaphore were tightened.
  71. As a result, pthread_cond_destroy() was not able to
  72. destroy the cv queueing sempahore.
  73. * condvar3_1.c: Likewise.
  74. * condvar3_2.c: Likewise.
  75. * condvar4.c: Likewise.
  76. * condvar5.c: Likewise.
  77. * condvar6.c: Likewise.
  78. * condvar7.c: Likewise.
  79. * condvar8.c: Likewise.
  80. * condvar9.c: Likewise.
  81. 2004-10-19 Ross Johnson <[email protected]>
  82. * semaphore3.c: New test.
  83. 2004-10-14 Ross Johnson <[email protected]>
  84. * rwlock7.c (main): Tidy up statistics reporting; randomise
  85. update accesses.
  86. * rwlock8.c: New test.
  87. 2004-09-08 Alexandre Girao <[email protected]>
  88. * cancel7.c (main): Win98 wants a valid (non-NULL) location
  89. for the last arg of _beginthreadex().
  90. * cancel8.c (main): Likewise.
  91. * exit4.c (main): Likewise.
  92. * exit5.c (main): Likewise.
  93. 2004-08-26 Ross Johnson <[email protected]>
  94. * create3.c: New test.
  95. 2004-06-21 Ross Johnson <[email protected]>
  96. * mutex2r.c: New test.
  97. * mutex2e.c: New test.
  98. * mutex3r.c: New test.
  99. * mutex3e.c: New test.
  100. * mutex6s.c: New test.
  101. * mutex6rs.c: New test.
  102. * mutex6es.c: New test.
  103. 2004-05-21 Ross Johnson <[email protected]>
  104. * join3.c: New test.
  105. 2004-05-16 Ross Johnson <[email protected]>
  106. * condvar2.c (WIN32_WINNT): Define to avoid redefinition warning
  107. from inclusion of implement.h.
  108. * convar2_1.c: Likewise.
  109. * condvar3_1.c: Likewise.
  110. * condvar3_2.c: Likewise.
  111. * context1.c: Likewise.
  112. * sizes.c: Likewise.
  113. * Makefile: Don't define _WIN32_WINNT on compiler command line.
  114. * GNUmakefile: Likewise.
  115. * priority1.c (main): Add column to output for actual win32
  116. priority.
  117. 2004-05-16 Ross Johnson <[email protected]>
  118. * cancel9.c: New test.
  119. * cancel3.c: Remove inappropriate conditional compilation;
  120. GNU C version of test suite no longer quietly skips this test.
  121. * cancel5.c: Likewise.
  122. * GNUmakefile: Can now build individual test app using default
  123. C version of library using 'make clean testname.c'.
  124. * Makefile: Likewise for VC using 'nmake clean test testname.c'.
  125. 2003-10-14 Ross Johnson <[email protected]>
  126. * Wmakefile: New makefile for Watcom testing.
  127. 2003-09-18 Ross Johnson <[email protected]>
  128. * benchtest.h: Move old mutex code into benchlib.c.
  129. * benchlib.c: New statically linked module to ensure that
  130. bench apps don't inline the code and therefore have an unfair
  131. advantage over the pthreads lib routines. Made little or no
  132. difference.
  133. * benchtest1.c: Minor change to avoid compiler warnings.
  134. * benchtest5.c: Likewise.
  135. * benchtest2.c: Fix misinformation in output report.
  136. * README.BENCH: Add comments on results.
  137. 2003-09-14 Ross Johnson <[email protected]>
  138. * priority1.c: Reworked to comply with modified priority
  139. management and provide additional output.
  140. * priority2.c: Likewise.
  141. * inherit1.c: Likewise.
  142. 2003-09-03 Ross Johnson <[email protected]>
  143. * exit4.c: New test.
  144. * exit5.c: New test.
  145. * cancel7.c: New test.
  146. * cancel8.c: New test.
  147. 2003-08-13 Ross Johnson <[email protected]>
  148. * reuse1.c: New test.
  149. * reuse1.c: New test.
  150. * valid1.c: New test.
  151. * valid2.c: New test.
  152. * kill1.c: New test.
  153. * create2.c: Now included in test regime.
  154. 2003-07-19 Ross Johnson <[email protected]>
  155. * eyal1.c (waste_time): Make threads do more work to ensure that
  156. all threads get to do some work.
  157. * semaphore1.c: Make it clear that certain errors are expected.
  158. * exception2.c (non_MSVC code sections): Change to include
  159. C++ standard include file, i.e. change <new.h> to <exception>.
  160. * exception3.c (non_MSVC code sections): Likewise; qualify std::
  161. namespace entities where necessary.
  162. * GNUmakefile: modified to work in the MsysDTK (newer MinGW)
  163. environment; define CC as gcc or g++ as appropriate because
  164. using gcc -x c++ doesn't link with required c++ libs by default,
  165. but g++ does.
  166. 2002-12-11 Ross Johnson <[email protected]>
  167. * mutex7e.c: Assert EBUSY return instead of EDEADLK.
  168. 2002-06-03 Ross Johnson <[email protected]>
  169. * semaphore2.c: New test.
  170. 2002-03-02 Ross Johnson <[email protected]>
  171. * Makefile (CFLAGS): Changed /MT to /MD to link with
  172. the correct library MSVCRT.LIB. Otherwise errno doesn't
  173. work.
  174. 2002-02-28 Ross Johnson <[email protected]>
  175. * exception3.c: Correct recent change.
  176. * semaphore1.c: New test.
  177. * Makefile: Add rule to generate pre-processor output.
  178. 2002-02-28 Ross Johnson <[email protected]>
  179. * exception3.c (terminateFunction): For MSVC++, call
  180. exit() rather than pthread_exit(). Add comments to explain
  181. why.
  182. * Notes from the MSVC++ manual:
  183. * 1) A term_func() should call exit(), otherwise
  184. * abort() will be called on return to the caller.
  185. * abort() raises SIGABRT. The default signal handler
  186. * for all signals terminates the calling program with
  187. * exit code 3.
  188. * 2) A term_func() must not throw an exception. Therefore
  189. * term_func() should not call pthread_exit() if an
  190. * an exception-using version of pthreads-win32 library
  191. * is being used (i.e. either pthreadVCE or pthreadVSE).
  192. 2002-02-23 Ross Johnson <[email protected]>
  193. * rwlock2_t.c: New test.
  194. * rwlock3_t.c: New test.
  195. * rwlock4_t.c: New test.
  196. * rwlock5_t.c: New test.
  197. * rwlock6_t.c: New test.
  198. * rwlock6_t2.c: New test.
  199. * rwlock6.c (main): Swap thread and result variables
  200. to correspond to actual thread functions.
  201. * rwlock1.c: Change test description comment to correspond
  202. to the actual test.
  203. * condvar1_2.c: Loop over the test many times in the hope
  204. of detecting any intermittent deadlocks. This is to
  205. test a fixed problem in pthread_cond_destroy.c.
  206. * spin4.c: Remove unused variable.
  207. 2002-02-17 Ross Johnson <[email protected]>
  208. * condvar1_1.c: New test.
  209. * condvar1_2.c: New test.
  210. 2002-02-07 Ross Johnson <[email protected]>
  211. * delay1.c: New test.
  212. * delay2.c: New test.
  213. * exit4.c: New test.
  214. 2002-02-02 Ross Johnson <[email protected]>
  215. * mutex8: New test.
  216. * mutex8n: New test.
  217. * mutex8e: New test.
  218. * mutex8r: New test.
  219. * cancel6a: New test.
  220. * cancel6d: New test.
  221. * cleanup0.c: Add pragmas for inline optimisation control.
  222. * cleanup1.c: Add pragmas for inline optimisation control.
  223. * cleanup2.c: Add pragmas for inline optimisation control.
  224. * cleanup3.c: Add pragmas for inline optimisation control.
  225. * condvar7.c: Add pragmas for inline optimisation control.
  226. * condvar8.c: Add pragmas for inline optimisation control.
  227. * condvar9.c: Add pragmas for inline optimisation control.
  228. 2002-01-30 Ross Johnson <[email protected]>
  229. * cleanup1.c (): Must be declared __cdecl when compiled
  230. as C++ AND testing the standard C library version.
  231. 2002-01-16 Ross Johnson <[email protected]>
  232. * spin4.c (main): Fix renamed function call.
  233. 2002-01-14 Ross Johnson <[email protected]>
  234. * exception3.c (main): Shorten wait time.
  235. 2002-01-09 Ross Johnson <[email protected]>
  236. * mutex7.c: New test.
  237. * mutex7n.c: New test.
  238. * mutex7e.c: New test.
  239. * mutex7r.c: New test.
  240. * mutex6.c: Modified to avoid leaving the locked mutex
  241. around on exit.
  242. 2001-10-25 Ross Johnson <[email protected]>
  243. * condvar2.c: Remove reference to cv->nWaitersUnblocked.
  244. * condvar2_1.c: Likewise; lower NUMTHREADS from 60 to 30.
  245. * condvar3_1.c: Likewise.
  246. * condvar3_2.c: Likewise.
  247. * count1.c: lower NUMTHREADS from 60 to 30.
  248. * inherit1.c: Determine valid priority values and then
  249. assert values returned by POSIX routines are the same.
  250. * priority1.c: Likewise.
  251. * priority2.c: Likewise.
  252. 2001-07-12 Ross Johnson <[email protected]>
  253. * barrier5.c: Assert that precisely one thread receives
  254. PTHREAD_BARRIER_SERIAL_THREAD at each barrier.
  255. 2001-07-09 Ross Johnson <[email protected]>
  256. * barrier3.c: Fixed.
  257. * barrier4.c: Fixed.
  258. * barrier5.c: New; proves that all threads in the group
  259. reaching the barrier wait and then resume together. Repeats the test
  260. using groups of 1 to 16 threads. Each group of threads must negotiate
  261. a large number of barriers (10000).
  262. * spin4.c: Fixed.
  263. * test.h (error_string): Modified the success (0) value.
  264. 2001-07-07 Ross Johnson <[email protected]>
  265. * spin3.c: Changed test and fixed.
  266. * spin4.c: Fixed.
  267. * barrier3.c: Fixed.
  268. * barrier4.c: Fixed.
  269. 2001-07-05 Ross Johnson <[email protected]>
  270. * spin1.c: New; testing spinlocks.
  271. * spin2.c: New; testing spinlocks.
  272. * spin3.c: New; testing spinlocks.
  273. * spin4.c: New; testing spinlocks.
  274. * barrier1.c: New; testing barriers.
  275. * barrier2.c: New; testing barriers.
  276. * barrier3.c: New; testing barriers.
  277. * barrier4.c: New; testing barriers.
  278. * GNUmakefile: Add new tests.
  279. * Makefile: Add new tests.
  280. 2001-07-01 Ross Johnson <[email protected]>
  281. * benchtest3.c: New; timing mutexes.
  282. * benchtest4.c: New; time mutexes.
  283. * condvar3_1.c: Fixed bug - Alexander Terekhov
  284. * condvar3_3.c: New test.
  285. 2001-06-25 Ross Johnson <[email protected]>
  286. * priority1.c: New test.
  287. * priority2.c: New test.
  288. * inherit1.c: New test.
  289. * benchtest1.c: New; timing mutexes.
  290. * benchtest2.c: New; timing mutexes.
  291. * mutex4.c: Modified to test all mutex types.
  292. 2001-06-8 Ross Johnson <[email protected]>
  293. * mutex5.c: Insert inert change to quell compiler warnings.
  294. * condvar3_2.c: Remove unused variable.
  295. 2001-06-3 Ross Johnson <[email protected]>
  296. * condvar2_1.c: New test.
  297. * condvar3_1.c: New test.
  298. * condvar3_2.c: New test.
  299. 2001-05-30 Ross Johnson <[email protected]>
  300. * mutex1n.c: New test.
  301. * mutex1e.c: New test.
  302. * mutex1r.c: New test.
  303. * mutex4.c: Now locks and unlocks a mutex.
  304. * mutex5.c: New test.
  305. * mutex6.c: New test.
  306. * mutex6n.c: New test.
  307. * mutex6e.c: New test.
  308. * mutex6r.c: New test.
  309. * Makefile: Added new tests; reorganised.
  310. * GNUmakefile: Likewise.
  311. * rwlock6.c: Fix to properly prove read-while-write locking
  312. and single writer locking.
  313. 2001-05-29 Ross Johnson <[email protected]>
  314. * Makefile: Reorganisation.
  315. * GNUmakefile: Likewise.
  316. - Thomas Pfaff <[email protected]>
  317. * exception1.c: Add stdio.h include to define fprintf and stderr
  318. in non-exception C version of main().
  319. * exception2.c: Likewise.
  320. * exception3.c: Likewise.
  321. * Makefile (rwlock7): Add new test.
  322. * GNUmakefile (rwlock7): Add new test.
  323. * rwlock7.c: New test.
  324. * rwlock6.c: Changed to test that writer has priority.
  325. * eyal1.c (main): Unlock each mutex_start lock before destroying
  326. it.
  327. 2000-12-29 Ross Johnson <[email protected]>
  328. * GNUmakefile: Add mutex4 test; ensure libpthreadw32.a is
  329. removed for "clean" target.
  330. * Makefile: Add mutex4 test.
  331. * exception3.c: Remove SEH code; automatically pass the test
  332. under SEH (which is an N/A environment).
  333. * mutex4.c: New test.
  334. * eyal1.c (do_work_unit): Add a dummy "if" to force the
  335. optimiser to retain code; reduce thread work loads.
  336. * condvar8.c (main): Add an additional "assert" for debugging;
  337. increase pthread_cond_signal timeout.
  338. 2000-12-28 Ross Johnson <[email protected]>
  339. * eyal1.c: Increase thread work loads.
  340. * exception2.c: New test.
  341. * exception3.c: New test.
  342. * Makefile: Add new tests exception2.c and exception3.c.
  343. * GNUmakefile: Likewise.
  344. 2000-12-11 Ross Johnson <[email protected]>
  345. * cleanup3.c: Remove unused variable.
  346. * cleanup2.c: Likewise.
  347. * exception1.c: Throw an exception rather than use
  348. a deliberate zero divide so that catch(...) will
  349. handle it under Mingw32. Mingw32 now builds the
  350. library correctly to pass all tests - see Thomas
  351. Pfaff's detailed instructions re needed changes
  352. to Mingw32 in the Pthreads-Win32 FAQ.
  353. 2000-09-08 Ross Johnson <[email protected]>
  354. * cancel5.c: New; tests calling pthread_cancel()
  355. from the main thread without first creating a
  356. POSIX thread struct for the non-POSIX main thread
  357. - this forces pthread_cancel() to create one via
  358. pthread_self().
  359. * Makefile (cancel5): Add new test.
  360. * GNUmakefile (cancel5): Likewise.
  361. 2000-08-17 Ross Johnson <[email protected]>
  362. * create2.c: New; Test that pthread_t contains
  363. the W32 HANDLE before it calls the thread routine
  364. proper.
  365. 2000-08-13 Ross Johnson <[email protected]>
  366. * condvar3.c: Minor change to eliminate compiler
  367. warning.
  368. * condvar4.c: ditto.
  369. * condvar5.c: ditto.
  370. * condvar6.c: ditto.
  371. * condvar7.c: ditto.
  372. * condvar8.c: ditto.
  373. * condvar9.c: ditto.
  374. * exit1.c: Function needed return statement.
  375. * cleanup1.c: Remove unnecessary printf arg.
  376. * cleanup2.c: Fix cast.
  377. * rwlock6.c: Fix casts.
  378. * exception1.c (PtW32CatchAll): Had the wrong name;
  379. fix casts.
  380. * cancel3.c: Remove unused waitLock variable.
  381. * GNUmakefile: Change library/dll naming; add new tests;
  382. general minor changes.
  383. * Makefile: Change library/dll naming; add targets for
  384. testing each of the two VC++ EH scheme versions;
  385. default target now issues help message; compile warnings
  386. now interpreted as errors to stop the make; add new
  387. tests; restructure to remove prerequisites needed
  388. otherwise.
  389. * README: Updated.
  390. 2000-08-10 Ross Johnson <[email protected]>
  391. * eyal1.c (main): Change implicit cast to explicit
  392. cast when passing "print_server" function pointer;
  393. G++ no longer allows implicit func parameter casts.
  394. * cleanup1.c: Remove unused "waitLock".
  395. (main): Fix implicit parameter cast.
  396. * cancel2.c (main): Fix implicit parameter cast.
  397. * cancel4.c (main): Fix implicit parameter cast.
  398. * cancel3.c (main): Fix implicit parameter cast.
  399. * GNUmakefile: Renamed from Makefile; Add missing
  400. cancel1 and cancel2 test targets.
  401. * Makefile: Converted for use with MS nmake.
  402. 2000-08-06 Ross Johnson <[email protected]>
  403. * ccl.bat: Add /nologo to remove extraneous output.
  404. * exception1.c (exceptionedThread): Init 'dummy';
  405. put expression into if condition to prevent optimising away;
  406. remove unused variable.
  407. * cancel4.c (mythread): Cast return value to avoid warnings.
  408. * cancel2.c (mythread): Missing #endif.
  409. * condvar9.c (mythread): Cast return value to avoid warnings.
  410. * condvar8.c (mythread): Cast return value to avoid warnings.
  411. * condvar7.c (mythread): Cast return value to avoid warnings.
  412. * cleanup3.c (mythread): Cast return value to avoid warnings.
  413. * cleanup2.c (mythread): Cast return value to avoid warnings.
  414. * cleanup1.c (mythread): Cast return value to avoid warnings.
  415. * condvar5.c (mythread): Cast return value to avoid warnings.
  416. * condvar3.c (mythread): Cast return value to avoid warnings.
  417. * condvar6.c (mythread): Cast return value to avoid warnings.
  418. * condvar4.c (mythread): Cast return value to avoid warnings.
  419. 2000-08-05 Ross Johnson <[email protected]>
  420. * cancel2.c: Use PtW32CatchAll macro if defined.
  421. * exception1.c: Use PtW32CatchAll macro if defined.
  422. 2000-08-02 Ross Johnson <[email protected]>
  423. * tsd1.c: Fix typecasts of &result [g++ is now very fussy].
  424. * test.h (assert): Return 0's explicitly to allay
  425. g++ errors.
  426. * join2.c: Add explicit typecasts.
  427. * join1.c: Add explicit typecasts.
  428. * join0.c: Add explicit typecasts.
  429. * eyal1.c: Add explicit typecasts.
  430. * count1.c (main): Add type cast to remove g++ parse warning
  431. [gcc-2.95.2 seems to have tightened up on this].
  432. * Makefile (GLANG): Use c++ explicitly.
  433. Remove MSVC sections (was commented out).
  434. Add target to generate cpp output.
  435. 2000-07-25 Ross Johnson <[email protected]>
  436. * runtest.bat: modified to work under W98.
  437. * runall.bat: Add new tests; modified to work under W98.
  438. It was ok under NT.
  439. * Makefile: Add new tests.
  440. * exception1.c: New; Test passing exceptions back to the
  441. application and retaining library internal exceptions.
  442. * join0.c: New; Test a single join.
  443. 2000-01-06 Ross Johnson <[email protected]>
  444. * cleanup1.c: New; Test cleanup handler executes (when thread is
  445. canceled).
  446. * cleanup2.c: New; Test cleanup handler executes (when thread is
  447. not canceled).
  448. * cleanup3.c: New; Test cleanup handler does not execute
  449. (when thread is not canceled).
  450. 2000-01-04 Ross Johnson <[email protected]>
  451. * cancel4.c: New; Test cancelation does not occur in deferred
  452. cancelation threads with no cancelation points.
  453. * cancel3.c: New; Test asynchronous cancelation.
  454. * context1.c: New; Test context switching method for async
  455. cancelation.
  456. 1999-11-23 Ross Johnson <[email protected]>
  457. * test.h: Add header includes; include local header versions rather
  458. than system versions; rearrange the assert macro defines.
  459. 1999-11-07 Ross Johnson <[email protected]>
  460. * loadfree.c: New. Test loading and freeing the library (DLL).
  461. 1999-10-30 Ross Johnson <[email protected]>
  462. * cancel1.c: New. Test pthread_setcancelstate and
  463. pthread_setcanceltype functions.
  464. * eyal1.c (waste_time): Change calculation to avoid FP exception
  465. on Aplhas
  466. - Rich Peters <[email protected]>
  467. Oct 14 1999 Ross Johnson <[email protected]>
  468. * condvar7.c: New. Test broadcast after waiting thread is canceled.
  469. * condvar8.c: New. Test multiple broadcasts.
  470. * condvar9.c: New. Test multiple broadcasts with thread
  471. cancelation.
  472. Sep 16 1999 Ross Johnson <[email protected]>
  473. * rwlock6.c: New test.
  474. Sep 15 1999 Ross Johnson <[email protected]>
  475. * rwlock1.c: New test.
  476. * rwlock2.c: New test.
  477. * rwlock3.c: New test.
  478. * rwlock4.c: New test.
  479. * rwlock5.c: New test.
  480. Aug 22 1999 Ross Johnson <[email protected]>
  481. * runall.bat (join2): Add test.
  482. Aug 19 1999 Ross Johnson <[email protected]>
  483. * join2.c: New test.
  484. Wed Aug 12 1999 Ross Johnson <[email protected]>
  485. * Makefile (LIBS): Add -L.
  486. Mon May 31 10:25:01 1999 Ross Johnson <[email protected]>
  487. * Makefile (GLANG): Add GCC language option.
  488. Sat May 29 23:29:04 1999 Ross Johnson <[email protected]>
  489. * runall.bat (condvar5): Add new test.
  490. * runall.bat (condvar6): Add new test.
  491. * Makefile (condvar5) : Add new test.
  492. * Makefile (condvar6) : Add new test.
  493. * condvar5.c: New test for pthread_cond_broadcast().
  494. * condvar6.c: New test for pthread_cond_broadcast().
  495. Sun Apr 4 12:04:28 1999 Ross Johnson <[email protected]>
  496. * tsd1.c (mythread): Change Sleep(0) to sched_yield().
  497. (sched.h): Include.
  498. * condvar3.c (mythread): Remove redundant Sleep().
  499. * runtest.bat: Re-organised to make more informative.
  500. Fri Mar 19 1999 Ross Johnson <[email protected]>
  501. * *.bat: redirect unwanted output to nul:
  502. * runall.bat: new.
  503. * cancel1.c: new. Not part of suite yet.
  504. Mon Mar 15 00:17:55 1999 Ross Johnson <[email protected]>
  505. * mutex1.c: only test mutex init and destroy; add assertions.
  506. * count1.c: raise number of spawned threads to 60 (appears to
  507. be the limit under Win98).
  508. Sun Mar 14 21:31:02 1999 Ross Johnson <[email protected]>
  509. * test.h (assert): add assertion trace option.
  510. Use:
  511. "#define ASSERT_TRACE 1" to turn it on,
  512. "#define ASSERT_TRACE 0" to turn it off (default).
  513. * condvar3.c (main): add more assertions.
  514. * condvar4.c (main): add more assertions.
  515. * condvar1.c (main): add more assertions.
  516. Fri Mar 12 08:34:15 1999 Ross Johnson <[email protected]>
  517. * condvar4.c (cvthing): switch the order of the INITIALIZERs.
  518. * eyal1.c (main): Fix trylock loop; was not waiting for thread to lock
  519. the "started" mutex.
  520. Wed Mar 10 10:41:52 1999 Ross Johnson <[email protected]>
  521. * tryentercs.c: Apply typo patch from bje.
  522. * tryentercs2.c: Ditto.
  523. Sun Mar 7 10:41:52 1999 Ross Johnson <[email protected]>
  524. * Makefile (condvar3, condvar4): Add tests.
  525. * condvar4.c (General): Reduce to simple test case; prerequisite
  526. is condvar3.c; add description.
  527. * condvar3.c (General): Reduce to simple test case; prerequisite
  528. is condvar2.c; add description.
  529. * condvar2.c (General): Reduce to simple test case; prerequisite
  530. is condvar1.c; add description.
  531. * condvar1.c (General): Reduce to simple test case; add
  532. description.
  533. * Template.c (Comments): Add generic test detail.
  534. 1999-02-23 Ross Johnson <[email protected]>
  535. * Template.c: Revamp.
  536. * condvar1.c: Add.
  537. * condvar2.c: Add.
  538. * Makefile: Add condvar1 condvar2 tests.
  539. * exit1.c, exit2.c, exit3.c: Cosmetic changes.
  540. 1999-02-23 Ross Johnson <[email protected]>
  541. * Makefile: Some refinement.
  542. * *.c: More exhaustive checking through assertions; clean up;
  543. add some more tests.
  544. * Makefile: Now actually runs the tests.
  545. * tests.h: Define our own assert macro. The Mingw32
  546. version pops up a dialog but we want to run non-interactively.
  547. * equal1.c: use assert a little more directly so that it
  548. prints the actual call statement.
  549. * exit1.c: Modify to return 0 on success, 1 on failure.
  550. 1999-02-22 Ross Johnson <[email protected]>
  551. * self2.c: Bring up to date.
  552. * self3.c: Ditto.
  553. 1999-02-21 Ben Elliston <[email protected]>
  554. * README: Update.
  555. * Makefile: New file. Run all tests automatically. Primitive tests
  556. are run first; more complex tests are run last.
  557. * count1.c: New test. Validate the thread count.
  558. * exit2.c: Perform a simpler test.
  559. * exit3.c: New test. Replaces exit2.c, since exit2.c needs to
  560. perform simpler checking first.
  561. * create1.c: Update to use the new testsuite exiting convention.
  562. * equal1.c: Likewise.
  563. * mutex1.c: Likewise.
  564. * mutex2.c: Likewise.
  565. * once1.c: Likewise.
  566. * self2.c: Likewise.
  567. * self3.c: Likewise.
  568. * tsd1.c: Likewise.
  569. 1999-02-20 Ross Johnson <[email protected]>
  570. * mutex2.c: Test static mutex initialisation.
  571. * test.h: New. Declares a table mapping error numbers to
  572. error names.
  573. 1999-01-17 Ross Johnson <[email protected]>
  574. * runtest: New script to build and run a test in the tests directory.
  575. Wed Dec 30 11:22:44 1998 Ross Johnson <[email protected]>
  576. * tsd1.c: Re-written. See comments at start of file.
  577. * Template.c: New. Contains skeleton code and comment template
  578. intended to fully document the test.
  579. Fri Oct 16 17:59:49 1998 Ross Johnson <[email protected]>
  580. * tsd1.c (destroy_key): Add function. Change diagnostics.
  581. Thu Oct 15 17:42:37 1998 Ross Johnson <[email protected]>
  582. * tsd1.c (mythread): Fix some casts and add some message
  583. output. Fix inverted conditional.
  584. Mon Oct 12 02:12:29 1998 Ross Johnson <[email protected]>
  585. * tsd1.c: New. Test TSD using 1 key and 2 threads.
  586. 1998-09-13 Ben Elliston <[email protected]>
  587. * eyal1.c: New file; contributed by Eyal Lebedinsky
  588. <[email protected]>.
  589. 1998-09-12 Ben Elliston <[email protected]>
  590. * exit2.c (func): Return a value.
  591. (main): Call the right thread entry function.
  592. 1998-07-22 Ben Elliston <[email protected]>
  593. * exit2.c (main): Fix size of pthread_t array.
  594. 1998-07-10 Ben Elliston <[email protected]>
  595. * exit2.c: New file; test pthread_exit() harder.
  596. * exit1.c: New file; test pthread_exit().