Age | Commit message (Collapse) | Author |
|
* condvar.c (pthread_cond_broadcast): Fix possible memory fault
- Mark E. Armstrong <avail@pacbell.net>
Thu May 27 13:08:46 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* condvar.c (pthread_cond_broadcast): Fix logic bug
- Peter Slacik <Peter.Slacik@tatramed.sk>;
optimise sem_post loop
- Bossom, John <John.Bossom@Cognos.COM>.
|
|
* attr.c (pthread_attr_setdetachstate): Fix logic bug.
|
|
* errno.c (_REENTRANT || _MT): Invert #if condition.
* pthread.h (_errno): Conditionally include prototype.
|
|
|
|
* *.c (comments): Remove individual attributions - these are
documented sufficiently elsewhere.
* implement.h (pthread.h): Remove extraneous include.
|
|
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.
|
|
* semaphore.c (_pthread_sem_timedwait): Check for negative
milliseconds.
- Tor Lillqvist <tml@iki.fi>
|
|
* misc.c (CancelableWait): Initialise exceptionInformation[2].
(pthread_self): Get a real Win32 thread handle for implicit threads.
* cancel.c (pthread_testcancel): Initialise exceptionInformation[2].
* implement.h (SE_INFORMATION): Fix values.
* private.c (_pthread_threadDestroy): Close the thread handle.
Fri Mar 19 12:57:27 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* cancel.c (comments): Update and cleanup.
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.
|
|
|
|
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.
|
|
|
|
|
|
* all: Add GNU LGPL and Copyright and Warranty.
|
|
* 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.
|
|
|
|
* misc.c (CancelableWait): Ensure cancelEvent handle is the lowest
indexed element in the handles array. Enhance test for abandoned
objects.
* pthread.h (PTHREAD_MUTEX_INITIALIZER): Trailing elements not
initialised are set to zero by the compiler. This avoids the
problem of initialising the opaque critical section element in it.
(PTHREAD_COND_INITIALIZER): Ditto.
* semaphore.c (_pthread_sem_timedwait): Check sem == NULL earlier.
Sun Mar 7 12:31:14 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* condvar.c (pthread_cond_init): set semaphore initial value
to 0, not 1. cond_timedwait was returning signaled immediately.
* misc.c (CancelableWait): Place the cancel event handle first
in the handle table for WaitForMultipleObjects. This ensures that
the cancel event is recognised and acted apon if both objects
happen to be signaled together.
* private.c (_pthread_cond_test_init_lock): Initialise and destroy.
* implement.h (_pthread_cond_test_init_lock): Add extern.
* global.c (_pthread_cond_test_init_lock): Add declaration.
* condvar.c (pthread_cond_destroy): check for valid initialised CV;
flag destroyed CVs as invalid.
(pthread_cond_init): pthread_cond_t is no longer just a pointer.
This is because PTHREAD_COND_INITIALIZER needs state info to reside
in pthread_cond_t so that it can initialise on first use. Will work on
making pthread_cond_t (and other objects like it) opaque again, if
possible, later.
(cond_timedwait): add check for statically initialisation of
CV; initialise on first use.
(pthread_cond_signal): check for valid CV.
(pthread_cond_broadcast): check for valid CV.
(_cond_check_need_init): Add.
* pthread.h (PTHREAD_COND_INITIALIZER): Fix.
(pthread_cond_t): no longer a pointer to pthread_cond_t_.
(pthread_cond_t_): add 'staticinit' and 'valid' elements.
tests/ChangeLog
Sun Mar 7 10:41:52 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* 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.
|
|
* 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.
|
|
* pthread.h (pthread_exit): The return type of this function is
void, not int.
* exit.c (pthread_exit): Do not return 0.
|
|
* tests/mutex2.c: Test static mutex initialisation.
* tests/test.h: New. Declares a table mapping error numbers to
error names.
|
|
* dll.c (DLLMain): Expand TryEnterCriticalSection support test.
* mutex.c (pthread_mutex_trylock): The check for
_pthread_try_enter_critical_section == NULL should have been
removed long ago.
|
|
* sync.c (pthread_join): Fix pthread_equal() test.
* mutex.c (pthread_mutex_trylock): Check mutex != NULL before
using it.
|
|
|
|
* misc.c (pthread_equal): Fix inverted result.
|
|
|
|
|
|
* Makefile.in: Use libpthread32.a as the name of the DLL export
library instead of pthread.lib.
* condvar.c (pthread_cond_init): cv could have been used unitialised;
initialise.
* create.c (pthread_create): parms could have been used unitialised;
initialise.
Add "Makefile" for people who don't want to (or can't) run ./configure.
|
|
It is being added for those not building under Cygwin or similar
environment and who therefore can't run ./configure.
|
|
* pthread.h (struct pthread_once_t_): Remove redefinition.
|
|
* pthread.h (struct pthread_once_t_): Replaced.
* misc.c (pthread_once): Replace with John Bossom's version;
has lighter weight serialisation; fixes problem of not holding
competing threads until after the init_routine completes.
|
|
|
|
* misc.c (CancelableWait): Change C++ exception throw.
* sync.c (pthread_join): Change FIXME comment - issue resolved.
|
|
|
|
* configure: Various temporary changes.
- Kevin Ruland <Kevin.Ruland@anheuser-busch.com>
* README: Update.
|
|
* pthread.def (pthread_attr_getstackaddr): uncomment
(pthread_attr_setstackaddr): uncomment
|
|
* global.c: Remove Pthread_exception instantiation.
* cancel.c (pthread_testcancel): Change C++ exception throw.
* implement.h: Remove extern declaration.
|
|
* semaphore.c: Comment format changes.
Wed Feb 3 13:04:44 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* cleanup.c: Rename _pthread_*_cleanup() to pthread_*_cleanup().
* pthread.def: Ditto.
* pthread.h: Ditto.
* pthread.def (pthread_cleanup_push): Remove from export list;
the function is defined as a macro under all compilers.
(pthread_cleanup_pop): Ditto.
* pthread.h: Remove #if defined().
|
|
* sync.c (pthread_join): Check for NULL value_ptr arg;
check for detached threads.
|
|
Tue Feb 2 18:07:43 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* implement.h: Add #include <pthread.h>.
Change sem_t to _pthread_sem_t.
Various patches by Kevin Ruland <Kevin.Ruland@anheuser-busch.com>
* signal.c (pthread_sigmask): Add and modify casts.
Reverse LHS/RHS bitwise assignments.
* pthread.h: Remove #include <semaphore.h>.
(_PTHREAD_ATTR_VALID): Add cast.
(struct pthread_t_): Add sigmask element.
* dll.c: Add "extern C" for DLLMain.
(DllMain): Add cast.
* create.c (pthread_create): Set sigmask in thread.
* condvar.c: Remove #include. Change sem_* to _pthread_sem_*.
* attr.c: Changed #include.
* Makefile.in: Additional targets and changes to build the library
as a DLL.
Fri Jan 29 11:56:28 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* Makefile.in (OBJS): Add semaphore.o to list.
* semaphore.c (_pthread_sem_timedwait): Move from private.c.
Rename sem_* to _pthread_sem_*.
* pthread.h (pthread_cond_t): Change type of sem_t.
_POSIX_SEMAPHORES no longer defined.
* semaphore.h: Contents moved to implement.h.
Removed from source tree.
* implement.h: Add semaphore function prototypes and ename all
functions to prepend '_pthread_'. They are
now private to the pthreads-win32 implementation.
* private.c: Change #warning.
Move _pthread_sem_timedwait() to semaphore.c.
* cleanup.c: Change #warning.
* misc.c: Remove #include <errno.h>
* pthread.def: Cleanup CVS merge conflicts.
* global.c: Ditto.
* ChangeLog: Ditto.
* cleanup.c: Ditto.
|
|
Sun Jan 24 01:34:52 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* semaphore.c (sem_wait): Remove second arg to
pthreadCancelableWait() call.
Fri Jan 22 14:31:59 1999 Ross Johnson <rpj@swan.canberra.edu.au>
* Makefile.in (CFLAGS): Remove -fhandle-exceptions. Not needed
with egcs. Add -g for debugging.
* create.c (pthread_create): Replace __stdcall with PT_STDCALL
macro. This is a hack and must be fixed.
* misc.c (CancelableWait): Remove redundant statement.
* mutex.c (pthread_mutexattr_init): Cast calloc return value.
* misc.c (CancelableWait): Add cast.
(pthread_self): Add cast.
* exit.c (pthread_exit): Add cast.
* condvar.c (pthread_condattr_init): Cast calloc return value.
* cleanup.c: Reorganise conditional compilation.
* attr.c (pthread_attr_init): Remove unused 'result'.
Cast malloc return value.
* private.c (_pthread_callUserDestroyRoutines): Redo conditional
compilation.
* misc.c (CancelableWait): C++ version uses 'throw'.
* cancel.c (pthread_testcancel): Ditto.
* implement.h (class pthread_exception): Define for C++.
* pthread.h: Fix C, C++, and Win32 SEH condition compilation
mayhem around pthread_cleanup_* defines. C++ version now uses John
Bossom's cleanup handlers.
(pthread_attr_t): Make 'valid' unsigned.
Define '_timeb' as 'timeb' for Ming32.
Define PT_STDCALL as nothing for Mingw32. May be temporary.
* cancel.c (pthread_testcancel): Cast return value.
|
|
* pthread.h (PTHREAD_MUTEX_AUTO_CS_NP): New.
(PTHREAD_MUTEX_FORCE_CS_NP): New.
|
|
* README: Updated.
|