| Age | Commit message (Collapse) | Author | 
|---|
|  | * errno.c: Add _MD precompile condition; thus far
        had no effect when using /MD compile option but I
        thnk it should be there.
        * exit.c: Add __cplusplus to various #if lines;
        was compiling SEH code even when VC++ had
        C++ compile options.
        * private.c: ditto.
        * create.c (pthread_create): Add PT_STDCALL macro to
        function pointer arg in _beginthread().
        * pthread.h: PT_STDCALL really does need to be defined
        in both this and impliment.h; don't set it to __cdecl
        - this macro is only used to extend function pointer
        casting for functions that will be passed as parameters.
        (~PThreadCleanup): add cast and group expression.
        (_errno): Add _MD compile conditional.
        (PtW32NoCatchWarn): Change pragma message.
        * implement.h: Move and change PT_STDCALL define.
        * need_errno.h: Add _MD to compilation conditional.
        * GNUmakefile: Substantial rewrite for new naming
        convention; set for nil optimisation (turn it up
        when we have a working library build; add target
        "fake.a" to build a libpthreadw32.a from the VC++
        built DLL pthreadVCE.dll.
        * pthread.def (LIBRARY): Don't specify in the .def
        file - it is specified on the linker command line
        since we now use the same .def file for variously
        named .dlls.
        * Makefile: Substantial rewrite for new naming
        convention; default nmake target only issues a
        help message; run nmake with specific target
        corresponding to the EH scheme being used.
        * README: Update information; add naming convention
        explanation.
        * ANNOUNCE: Update information.
2000-08-12  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * pthread.h: Add compile-time message when using
        MSC_VER compiler and C++ EH to warn application
        programmers to use PtW32Catch instead of catch(...)
        if they want cancelation and pthread_exit to work.
        * implement.h: Remove #include <semaphore.h>; we
        use our own local semaphore.h.
tests/ChangeLog:
2000-08-13  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * condvar3.c: Minor change to eliminate compiler
        warning.
        * condvar4.c: ditto.
        * condvar5.c: ditto.
        * condvar6.c: ditto.
        * condvar7.c: ditto.
        * condvar8.c: ditto.
        * condvar9.c: ditto.
        * exit1.c: Function needed return statement.
        * cleanup1.c: Remove unnecessary printf arg.
        * cleanup2.c: Fix cast.
        * rwlock6.c: Fix casts.
        * exception1.c (PtW32CatchAll): Had the wrong name;
        fix casts.
        * cancel3.c: Remove unused waitLock variable.
        * GNUmakefile: Change library/dll naming; add new tests;
        general minor changes.
        * Makefile: Change library/dll naming; add targets for
        testing each of the two VC++ EH scheme versions;
        default target now issues help message; compile warnings
        now interpreted as errors to stop the make; add new
        tests; restructure to remove prerequisites needed
        otherwise.
        * README: Updated. | 
|  | * 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. | 
|  | * 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. | 
|  |  | 
|  | * Makefile: Remove inconsistencies in 'cl' args
        - Erik Hensema <erik.hensema@group2000.nl> | 
|  | - asynchronous cancellation added
	- attempt to hide internal exceptions from applications
	- kernel32 load/free problem fixed
	- new tests
	- changes only to comments in some tests | 
|  | 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. | 
|  | * all: Add GNU LGPL and Copyright and Warranty. | 
|  | * 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. | 
|  | * configure.in: Test for required system features.
	* configure: Generate.
	* acconfig.h: New file.
	* config.h.in: Generate.
	* Makefile.in: Renamed from Makefile.
	* COPYING: Import from a recent GNU package.
	* config.guess: Likewise.
	* config.sub: Likewise.
	* install-sh: Likewise.
	* Makefile: Remove.
	* config.h: Likewise. | 
|  | * {most}.c: Include <errno.h> to get POSIX error values.
        * signal.c (pthread_sigmask): Only provide if HAVE_SIGSET_T is
        defined.
        * config.h: #undef features, don't #define them.  This will be
        generated by autoconf very soon. | 
|  | * Makefile (LIB): Define.
        (clean): Define target.
        (all): Build a library not just the object files.
        * pthread.h: Provide a definition for struct timespec if we don't
        already have one.
        * windows.c (TlsGetValue): Bug fix. | 
|  | * windows.h: Remove duplicate TlsSetValue() prototype.  Add
        TlsGetValue() prototype.
        (FALSE): Define.
        (TRUE): Likewise.
        Add forgotten errno values.  Guard against multiple #includes.
        * windows.c: New file.  Implement stubs for Win32 functions.
        * Makefile (SRCS): Remove.  Not explicitly needed.
        (CFLAGS): Add -Wall for all warnings with GCC. | 
|  | * config.h: Create. This is a temporary stand-in for autoconf yet
	to be done.
 	(HAVE_SIGNAL_H): Add.
	* pthread.h: Minor rearrangement for temporary config.h. | 
|  | * Makefile (SRCS): Create. Preliminary.
	* windows.h: Create. Contains Win32 definitions for compile
	testing. This is just a standin for the real one.
	* pthread.h (SIG_UNBLOCK): Fix typo. Was SIG_BLOCK.
	(windows.h): Add include. Required for CRITICAL_SECTION.
	(pthread_cond_t): Move enum declaration outside of struct
	definition.
	(unistd.h): Add include - may be temporary.
	* condvar.c (windows.h): Add include. |