| Age | Commit message (Collapse) | Author | 
|---|
|  | 2000-12-29  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * Makefile: Back-out "for" loops which don't work.
        * GNUmakefile: Remove the fake.a target; add the "realclean"
        target; don't remove built libs under the "clean" target.
        * config.h: Add a guard against multiple inclusion.
        * semaphore.h: Add some defines from config.h to make
        semaphore.h independent of config.h when building apps.
        * pthread.h (_errno): Back-out previous fix until we know how to
        fix it properly.
        * implement.h (lockCount): Add missing element to pthread_mutex_t_.
        * sync.c (pthread_join): Spelling fix in comment.
        * private.c (ptw32_threadStart): Reset original termination
        function (C++).
        (ptw32_threadStart): Cleanup detached threads early in case
        the library is statically linked.
        (ptw32_callUserDestroyRoutines): Remove [SEH] __try block from
        destructor call so that unhandled exceptions will be passed through
        to the  system; call terminate() from [C++] try block for the same
        reason.
        * tsd.c (pthread_getspecific): Add comment.
        * mutex.c (pthread_mutex_init): Initialise new elements in
        pthread_mutex_t.
        (pthread_mutex_unlock): Invert "pthread_equal()" test.
2000-12-28  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * semaphore.c (mode_t): Use ifndef HAVE_MODE_T to include definition.
        * config.h.in (HAVE_MODE_T): Added.
        (_UWIN): Start adding defines for the UWIN package.
./tests/ChangeLog:
2000-12-29  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * GNUmakefile: Add mutex4 test; ensure libpthreadw32.a is
        removed for "clean" target.
        * Makefile: Add mutex4 test.
        * exception3.c: Remove SEH code; automatically pass the test
        under SEH (which is an N/A environment).
        * mutex4.c: New test.
        * eyal1.c (do_work_unit): Add a dummy "if" to force the
        optimiser to retain code; reduce thread work loads.
        * condvar8.c (main): Add an additional "assert" for debugging;
        increase pthread_cond_signal timeout. | 
|  | 2000-12-28  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * private.c (ptw32_threadStart): Unhandled exceptions are
        now passed through to the system to deal with. This is consistent
        with normal Windows behaviour. C++ applications may use
        set_terminate() to override the default behaviour which is
        to call ptw32_terminate(). Ptw32_terminate() cleans up some
        POSIX thread stuff before calling the system default function
        which calls abort(). The users termination function should conform
        to standard C++ semantics which is to not return. It should
        exit the thread (call pthread_exit()) or exit the application.
        * private.c (ptw32_terminate): Added as the default set_terminate()
        function. It calls the system default function after cleaning up
        some POSIX thread stuff.
        * implement.h (ptw32_try_enter_critical_section): Move
        declaration.
        * global.c (ptw32_try_enter_critical_section): Moved
        from dll.c.
        * dll.c: Move process and thread attach/detach code into
        functions in nonportable.c.
        * nonportable.c (pthread_win32_process_attach_np): Process
        attach code from dll.c is now available to static linked
        applications.
        * nonportable.c (pthread_win32_process_detach_np): Likewise.
        * nonportable.c (pthread_win32_thread_attach_np): Likewise.
        * nonportable.c (pthread_win32_thread_detach_np): Likewise.
        * pthread.h: Add new non-portable prototypes for static
        linked applications.
        * GNUmakefile (OPT): Increase optimisation flag and remove
        debug info flag.
        * pthread.def: Add new non-portable exports for static
        linked applications.
2000-12-11  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * FAQ: Update Answer 6 re getting a fully working
        Mingw32 built library.
2000-09-09  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * pthread.h (ctime_r): Fix arg.
./tests/ChangeLog:
2000-12-28  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * eyal1.c: Increase thread work loads.
        * exception2.c: New test.
        * exception3.c: New test.
        * Makefile: Add new tests exception2.c and exception3.c.
        * GNUmakefile: Likewise.
2000-12-11  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * cleanup3.c: Remove unused variable.
        * cleanup2.c: Likewise.
        * exception1.c: Throw an exception rather than use
        a deliberate zero divide so that catch(...) will
        handle it under Mingw32. Mingw32 now builds the
        library correctly to pass all tests - see Thomas
        Pfaff's detailed instructions re needed changes
        to Mingw32 in the Pthreads-Win32 FAQ. | 
|  | * cancel.c (pthread_cancel): Must get "self" through
        calling pthread_self() which will ensure a POSIX thread
        struct is built for non-POSIX threads; return an error
        if this fails
        - Ollie Leahy <ollie@mpt.ie>
        (pthread_setcancelstate): Likewise.
        (pthread_setcanceltype): Likewise.
        * misc.c (ptw32_cancelable_wait): Likewise.
        * private.c (ptw32_tkAssocCreate): Remove unused #if 0
        wrapped code.
        * pthread.h (ptw32_get_exception_services_code):
        Needed to be forward declared unconditionally.
2000-09-06  Ross Johnson  <rpj@special.ise.canberra.edu.au>
        * cancel.c (pthread_cancel): If called from the main
        thread "self" would be NULL; get "self" via pthread_self()
        instead of directly from TLS so that an implicit
        pthread object is created.
        * misc.c (pthread_equal): Strengthen test for NULLs. | 
|  | * 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. | 
|  |  |