| Age | Commit message (Collapse) | Author | 
|---|
|  | * cleanup.c (pthread_pop_cleanup): Remove _pthread
        prefix from __except and catch keywords; implement.h
        now simply undefines _pthread__except and
        _pthread_catch if defined; VC++ was not textually
        substituting _pthread_catch etc back to catch as
        it was redefined; the reason for using the prefixed
        version was to make it clear that it was not using
        the pthread.h redefined catch keyword.
        * private.c (_pthread_threadStart): Ditto.
        (_pthread_callUserDestroyRoutines): Ditto.
        * implement.h (_pthread__except): Remove #define.
        (_pthread_catch): Remove #define.
        * GNUmakefile (pthread.a): New target to build
        libpthread32.a from pthread.dll using dlltool.
        * buildlib.bat: Duplicate cl commands with args to
        build C++ EH version of pthread.dll; use of .bat
        files is redundant now that nmake compatible
        Makefile is included; used as a kludge only now.
        * Makefile: Localise some macros and fix up the clean:
        target to extend it and work properly.
        * CONTRIBUTORS: Add contributors.
        * ANNOUNCE: Updated.
        * README: Updated.
tests/ChangeLog:
2000-08-10  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * eyal1.c (main): Change implicit cast to explicit
        cast when passing "print_server" function pointer;
        G++ no longer allows implicit func parameter casts.
        * cleanup1.c: Remove unused "waitLock".
        (main): Fix implicit parameter cast.
        * cancel2.c (main): Fix implicit parameter cast.
        * cancel4.c (main): Fix implicit parameter cast.
        * cancel3.c (main): Fix implicit parameter cast.
        * GNUmakefile: Renamed from Makefile; Add missing
        cancel1 and cancel2 test targets.
        * Makefile: Converted for use with MS nmake. | 
|  | * pthread.h: Remove #warning - VC++ doesn't accept it.
2000-08-05  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* pthread.h (PtW32CatchAll): Add macro. When compiling
	applications using VC++ with C++ EH rather than SEH
	'PtW32CatchAll' must be used in place of any 'catch( ... )'
	if the application wants pthread cancelation or
	pthread_exit() to work.
2000-08-03  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* pthread.h: Add a base class Pthread_exception for
	library internal exceptions and change the "catch"
	re-define macro to use it.
2000-08-02  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* GNUmakefile (CFLAGS): Add -mthreads.
	Add new targets to generate cpp and asm output.
	* sync.c (pthread_join): Remove dead code.
tests:
2000-08-06  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* ccl.bat: Add /nologo to remove extraneous output.
	* exception1.c (exceptionedThread): Init 'dummy';
	put expression into if condition to prevent optimising away;
	remove unused variable.
	* cancel4.c (mythread): Cast return value to avoid warnings.
	* cancel2.c (mythread): Missing #endif.
	* condvar9.c (mythread): Cast return value to avoid warnings.
	* condvar8.c (mythread): Cast return value to avoid warnings.
	* condvar7.c (mythread): Cast return value to avoid warnings.
	* cleanup3.c (mythread): Cast return value to avoid warnings.
	* cleanup2.c (mythread): Cast return value to avoid warnings.
	* cleanup1.c (mythread): Cast return value to avoid warnings.
	* condvar5.c (mythread): Cast return value to avoid warnings.
	* condvar3.c (mythread): Cast return value to avoid warnings.
	* condvar6.c (mythread): Cast return value to avoid warnings.
	* condvar4.c (mythread): Cast return value to avoid warnings.
2000-08-05  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* cancel2.c: Use PtW32CatchAll macro if defined.
	* exception1.c: Use PtW32CatchAll macro if defined.
2000-08-02  Ross Johnson  <rpj@special.ise.canberra.edu.au>
	* tsd1.c: Fix typecasts of &result [g++ is now very fussy].
	* test.h (assert): Return 0's explicitly to allay
	g++ errors.
	* join2.c: Add explicit typecasts.
	* join1.c: Add explicit typecasts.
	* join0.c: Add explicit typecasts.
	* eyal1.c: Add explicit typecasts.
	* count1.c (main): Add type cast to remove g++ parse warning
	[gcc-2.95.2 seems to have tightened up on this].
	* Makefile (GLANG): Use c++ explicitly.
	Remove MSVC sections (was commented out).
	Add target to generate cpp output. | 
|  | * sched.c (sched_get_priority_max): Handle different WinCE and
        Win32 priority values together.
        (sched_get_priority_min): Ditto.
        - Tristan Savatier <tristan@mpegtv.com>
        * create.c (pthread_create): Force new threads to wait until
        pthread_create has the new thread's handle; we also retain
        a local copy of the handle for internal use until
        pthread_create returns.
        * private.c (_pthread_threadStart): Initialise ei[].
        (_pthread_threadStart): When beginthread is used to start the
        thread, force waiting until the creator thread had the
        thread handle.
        * cancel.c (_pthread_cancel_thread): Include context switch
        code for defined(_X86_) environments in addition to _M_IX86.
        * rwlock.c (pthread_rwlock_destroy): Assignment changed
        to avoid compiler warning.
        * private.c (_pthread_get_exception_services_code): Cast
        NULL return value to avoid compiler warning.
        * cleanup.c (pthread_pop_cleanup): Initialise "cleanup" variable
        to avoid compiler warnings.
        * misc.c (_pthread_new): Change "new" variable to "t" to avoid
        confusion with the C++ keyword of the same name.
        * condvar.c (cond_wait_cleanup): Initialise lastWaiter variable.
        (cond_timedwait): Remove unused local variables. to avoid
        compiler warnings.
        * dll.c (dllMain): Remove 2000-07-21 change - problem
        appears to be in pthread_create().
2000-07-22  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * tsd.c (pthread_key_create): If a destructor was given
        and the pthread_mutex_init failed, then would try to
        reference a NULL pointer (*key); eliminate this section of
        code by using a dynamically initialised mutex
        (PTHREAD_MUTEX_INITIALIZER).
        * tsd.c (pthread_setspecific): Return an error if
        unable to set the value; simplify cryptic conditional.
        * tsd.c (pthread_key_delete): Locking threadsLock relied
        on mutex_lock returning an error if the key has no destructor.
        ThreadsLock is only initialised if the key has a destructor.
        Making this mutex a static could reduce the number of mutexes
        used by an application since it is actually created only at
        first use and it's often destroyed soon after.
2000-07-22  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * FAQ: Added Q5 and Q6.
tests/ChangeLog:
2000-07-25  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * runtest.bat: modified to work under W98.
        * runall.bat: Add new tests; modified to work under W98.
        It was ok under NT.
        * Makefile: Add new tests.
        * exception1.c: New; Test passing exceptions back to the
        application and retaining library internal exceptions.
        * join0.c: New; Test a single join. | 
|  | - asynchronous cancellation added
	- attempt to hide internal exceptions from applications
	- kernel32 load/free problem fixed
	- new tests
	- changes only to comments in some tests |