| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | - asynchronous cancellation added
	- attempt to hide internal exceptions from applications
	- kernel32 load/free problem fixed
	- new tests
	- changes only to comments in some tests | 
|  | 1999-10-30  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * create.c (pthread_create): Explicitly initialise thread state to
        default values.
        * cancel.c (pthread_setcancelstate): Check for NULL 'oldstate'
        for compatibility with Solaris pthreads;
        (pthread_setcanceltype): ditto:
        - Erik Hensema <erik.hensema@group2000.nl>
1999-10-23  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * pthread.h (ctime_r): Fix incorrect argument "_tm"
        - Erik Hensema <erik.hensema@group2000.nl>
tests/ChangeLog:
1999-10-30  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * cancel1.c: New. Test pthread_setcancelstate and
	pthread_setcanceltype functions.
        * eyal1.c (waste_time): Change calculation to avoid FP exception
	on Aplhas
	- Rich Peters <rpeters@micro-magic.com> | 
|  | * rwlock.c (pthread_rwlock_destroy): Add cast to remove compile
        warning.
        * condvar.c (pthread_cond_broadcast): Only release semaphores
        if there are waiting threads.
1999-10-15  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * condvar.c (cond_wait_cleanup): New static cleanup handler for
        cond_timedwait;
        (cond_timedwait): pthread_cleanup_push args changed;
        canceling a thread while it's in pthread_cond_wait
        will now decrement the waiters count and cleanup if it's the
        last waiter.
        - Lorin Hochstein <lmh@xiphos.ca> and
          Peter Slacik <Peter.Slacik@tatramed.sk>;
        the last waiter will now reset the CV's wasBroadcast flag
        - Graham Dumpleton <Graham.Dumpleton@ra.pad.otc.telstra.com.au>. | 
|  | * rwlock6.c: New test. | 
|  | * rwlock5.c: New test. | 
|  | The following code for POSIX read/write locks was contributed
        by Aurelio Medina.
        * implement.h (pthread_rwlock_t_): Add.
        * pthread.h (pthread_rwlock_t): Add.
        (PTHREAD_RWLOCK_INITIALIZER): Add.
        Add rwlock function prototypes.
        * rwlock.c: New module.
        * pthread.def: Add new rwlock functions.
        * private.c (_pthread_processInitialize): initialise
        _pthread_rwlock_test_init_lock critical section.
        * global.c (_pthread_rwlock_test_init_lock): Add.
        * mutex.c (pthread_mutex_destroy): Don't free mutex memory
        if mutex is PTHREAD_MUTEX_INITIALIZER and has not been
        initialised yet.
tests/ChangeLog
Sep 15 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * rwlock1.c: New test.
        * rwlock2.c: New test.
        * rwlock3.c: New test.
        * rwlock4.c: New test. | 
|  | * exit.c (pthread_exit): Fix reference to potentially
        uninitialised pointer.
1999-08-21  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * private.c (_pthread_threadStart): Apply fix of 1999-08-19
        this time to C++ and non-trapped C versions. Ommitted to
        do this the first time through.
tests/ChangeLog:
Aug 22 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * runall.bat (join2): Add test. | 
|  | * private.c (_pthread_threadStart): Return exit status from
        the application thread startup routine.
        - Milan Gardian <mg@tatramed.sk>
1999-08-18  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * exit.c (pthread_exit): Put status into pthread_t->exitStatus
        - John Bossom <john.Bossom@cognos.com>
        * private.c (_pthread_threadStart): Set pthread->exitStatus
        on exit of try{} block.
        - John Bossom <john.Bossom@cognos.com>
        * sync.c (pthread_join): use pthread_exitStatus value if the
        thread exit doesn't return a value (for Mingw32 CRTDLL
        which uses endthread instead of _endthreadex).
        - John Bossom <john.Bossom@cognos.com>
Tue Aug 17 20:17:58 CDT 1999  Mumit Khan  <khan@xraylith.wisc.edu>
        * create.c (pthread_create): Add CRTDLL suppport.
        * exit.c (pthread_exit): Likewise.
        * private.c (_pthread_threadStart): Likewise.
        (_pthread_threadDestroy): Likewise.
        * sync.c (pthread_join): Likewise.
        * tests/join1.c (main): Warn about partial support for CRTDLL.
Tue Aug 17 20:00:08 1999  Mumit Khan  <khan@xraylith.wisc.edu>
        * Makefile.in (LD): Delete entry point.
        * acconfig.h (STDCALL): Delete unused macro.
        * configure.in: Remove test for STDCALL.
        * config.h.in: Regenerate.
        * errno.c (_errno): Fix self type.
        * pthread.h (PT_STDCALL): Move from here to
        * implement.h (PT_STDCALL): here.
        (_pthread_threadStart): Fix prototype.
        * private.c (_pthread_threadStart): Likewise.
1999-08-14  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * exit.c (pthread_exit): Don't call pthread_self() but
        get thread handle directly from TSD for efficiency. | 
|  | 1999-08-12  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * private.c (_pthread_threadStart): ei[] only declared if _MSC_VER.
tests/ChangeLog:
Wed Aug 12 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * Makefile (LIBS): Add -L. | 
|  |  | 
|  | Sat May  8 09:42:30 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
	* pthread.def (sem_open): Add.
	(sem_close): Add.
	(sem_unlink): Add.
	(sem_getvalue): Add.
	* FAQ (Question 3): Add.
Thu Apr  8 01:16:23 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
	* semaphore.c (sem_open): New function; returns an error (ENOSYS).
	(sem_close): ditto.
	(sem_unlink): ditto.
	(sem_getvalue): ditto.
	* semaphore.h (_POSIX_SEMAPHORES): define.
./tests/ChangeLog
Sat May 29 23:29:04 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * runall.bat (condvar5): Add new test.
        * runall.bat (condvar6): Add new test.
        * Makefile (condvar5) : Add new test.
        * Makefile (condvar6) : Add new test.
        * condvar5.c: New test for pthread_cond_broadcast().
        * condvar6.c: New test for pthread_cond_broadcast(). | 
|  | Sun Apr  4 11:05:57 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * sched.c (sched.h): Include.
        * sched.h: New file for POSIX 1b scheduling.
        * pthread.h: Move opaque structures to implement.h; move sched_*
        prototypes out and into sched.h.
        * implement.h: Add opaque structures from pthread.h.
        * sched.c (sched_yield): New function.
        * condvar.c (_pthread_sem_*): Rename to sem_*; except for
        _pthread_sem_timedwait which is an private function.
Sat Apr  3 23:28:00 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * Makefile.in (OBJS): Add errno.o.
Fri Apr  2 11:08:50 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * implement.h (_pthread_sem_*): Remove prototypes now defined in
        semaphore.h.
        * pthread.h (sempahore.h): Include.
        * semaphore.h: New file for POSIX 1b semaphores.
        * pthread.h (_pthread_sem_t): Change to sem_t.
        * semaphore.c (_pthread_sem_*): Change to sem_*; these functions
        will be exported from the library; set errno on error.
        - John Bossom <jebossom@cognos.com>
        (_pthread_sem_timedwait): Moved to private.c.
        * private.c (_pthread_sem_timedwait): Moved from semaphore.c;
        set errno on error.
        * errno.c (_errno): New file. New function.
        - John Bossom
        * pthread.h (pthread_t_): Add per-thread errno element.
tests/ChangeLog
Sun Apr  4 12:04:28 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * tsd1.c (mythread): Change Sleep(0) to sched_yield().
        (sched.h): Include.
        * condvar3.c (mythread): Remove redundant Sleep().
        * runtest.bat: Re-organised to make more informative. | 
|  | Fri Mar 19 09:12:59 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * private.c (_pthread_threadStart): status returns PTHREAD_CANCELED.
        * pthread.h (PTHREAD_CANCELED): defined.
==> tests/ChangeLog <==
Fri Mar 19 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * *.bat: redirect unwanted output to nul:
        * runall.bat: new.
        * cancel1.c: new. Not part of suite yet. | 
|  | * condvar.c (pthread_cond_init): fix possible uninitialised use
        of cv.
Sun Mar 14 21:01:59 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * condvar.c (pthread_cond_destroy): don't do full cleanup if
        static initialised cv has never been used.
        (cond_timedwait): check result of auto-initialisation.
tests/ChangeLog
Mon Mar 15 00:17:55 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * mutex1.c: only test mutex init and destroy; add assertions.
        * count1.c: raise number of spawned threads to 60 (appears to
        be the limit under Win98).
Sun Mar 14 21:31:02 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * test.h (assert): add assertion trace option.
        Use:
        "#define ASSERT_TRACE 1" to turn it on,
        "#define ASSERT_TRACE 0" to turn it off (default).
        * condvar3.c (main): add more assertions.
        * condvar4.c (main): add more assertions.
        * condvar1.c (main): add more assertions. | 
|  | * tryentercs.c: Apply typo patch from bje.
        * tryentercs2.c: Ditto. | 
|  | * pthread.h (pthread_mutex_t): revert to (pthread_mutex_t *);
        define a value to serve as PTHREAD_MUTEX_INITIALIZER.
        (pthread_mutex_t_): remove staticinit and valid elements.
        (pthread_cond_t): revert to (pthread_cond_t_ *);
        define a value to serve as PTHREAD_COND_INITIALIZER.
        (pthread_cond_t_): remove staticinit and valid elements.
        * mutex.c (pthread_mutex_t args): adjust indirection of references.
        (all functions): check for PTHREAD_MUTEX_INITIALIZER value;
        check for NULL (invalid).
        * condvar.c (pthread_cond_t args): adjust indirection of references.
        (all functions): check for PTHREAD_COND_INITIALIZER value;
        check for NULL (invalid).
Wed Mar 10 17:18:12 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * misc.c (CancelableWait): Undo changes from Mar 8 and 7.
tests/ChangeLog
Fri Mar 12 08:34:15 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * eyal1.c (main): Fix trylock loop; was not waiting for thread to lock
        the "started" mutex. | 
|  | * Makefile (condvar3, condvar4): Add tests. | 
|  | * condvar4.c (General): Reduce to simple test case; prerequisite
	is condvar3.c; add description.
	* condvar3.c (General): Reduce to simple test case; prerequisite
	is condvar2.c; add description.
	* condvar2.c (General): Reduce to simple test case; prerequisite
	is condvar1.c; add description.
	* condvar1.c (General): Reduce to simple test case; add
	description.
	* Template.c (Comments): Add generic test detail. | 
|  |  | 
|  | * Template.c: Revamp.
        * condvar1.c: Add.
        * condvar2.c: Add.
	* Makefile: Add condvar1 condvar2 tests.
        * exit1.c, exit2.c, exit3.c: Cosmetic changes. | 
|  | * Makefile: Some refinement.
        * *.c: More exhaustive checking through assertions; clean up;
        add some more tests. | 
|  | * Makefile: Now actually runs the tests.
        * tests.h: Define our own assert macro. The Mingw32
        version pops up a dialog but we want to run non-interactively.
        * equal1.c: use assert a little more directly so that it
        prints the actual call statement.
        * exit1.c: Modify to return 0 on success, 1 on failure. | 
|  | * pthread.h (PTHREAD_MUTEX_INITIALIZER): missing braces around
        cs element initialiser.
Bring some tests up-to-date. | 
|  | * README: Update.
	* Makefile: New file. Run all tests automatically. Primitive tests
	are run first; more complex tests are run last.
	* count1.c: New test. Validate the thread count.
	* exit2.c: Perform a simpler test.
	* exit3.c: New test. Replaces exit2.c, since exit2.c needs to
	perform simpler checking first.
	* create1.c: Update to use the new testsuite exiting convention.
	* equal1.c: Likewise.
	* mutex1.c: Likewise.
	* mutex2.c: Likewise.
	* once1.c: Likewise.
	* self2.c: Likewise.
	* self3.c: Likewise.
	* tsd1.c: Likewise. | 
|  | * tests/mutex2.c: Test static mutex initialisation.
        * tests/test.h: New. Declares a table mapping error numbers to
        error names. | 
|  | * private.c (_pthread_sem_timedwait): Move from semaphore.c.
        * semaphore.c : Remove redundant #includes.
        (_pthread_sem_timedwait): Move to private.c.
        (sem_wait): Add missing abstime arg to pthreadCancelableWait() call.
1999-01-17  Ross Johnson  <rpj@ise.canberra.edu.au>
        * runtest: New script to build and run a test in the tests directory. | 
|  | This will be tagged as snapshot-1999-01-04-1305 | 
|  | * cleanup.c (_pthread_handler_push): Fixed bug appending new
        handler to list reported by Peter Slacik
        <Peter.Slacik@leibinger.freinet.de>.
        (new_thread): Rename poorly named local variable to
        "new_handler". | 
|  | * tsd1.c (mythread): Fix some casts and add some diagnostics.
	Fix inverted conditional. | 
|  | * tsd1.c: New. Test TSD using 1 key and 2 threads. | 
|  | * eyal1.c: New file; contributed by Eyal Lebedinsky
	<eyal@eyal.emu.id.au>. | 
|  | * exit2.c (func): Return a value.
        (main): Call the right thread entry function. | 
|  |  | 
|  |  | 
|  |  |