Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Code Log


Commit Date  
[c3e3bf] (final-pre-bossom) by rpj rpj

Mon Dec 7 09:44:40 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* dll.c (PthreadsEntryPoint): Cast return value of GetProcAddress
to resolve compile warning from MSVC.

1998-12-06 14:53:20 Tree
[a7d474] by rpj rpj

Sun Dec 6 21:54:35 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* buildlib.bat: Fix args to CL when building the .DLL
* cleanup.c (_pthread_destructor_run_all): Fix TSD key management.
This is a tidy-up before TSD and Thread management is completely
replaced by John Bossom's much more elegant code.
* tsd.c (pthread_key_create): Fix TSD key management.
* global.c (_pthread_key_virgin_next): Initialise.
* build.bat: New DOS script to compile and link a pthreads app
using Microsoft's CL compiler linker.
* buildlib.bat: New DOS script to compile all the object files
and create pthread.lib and pthread.dll using Microsoft's CL
compiler linker.

1998-12-06 04:42:29 Tree
[e17bb9] by rpj rpj

Sun Dec 6 21:54:35 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* build.bat: New DOS script to compile and link a pthreads app
using Microsoft's CL compiler linker.
* buildlib.bat: New DOS script to compile all the object files
and create pthread.lib and pthread.dll using Microsoft's CL
compiler linker.

1998-12-06 03:47:03 Tree
[02e795] by rpj rpj

Thu Dec 3 13:32:00 1998 Ross Johnson <rpj@ise.canberra.edu.au>
* README: Correct cygwin32 compatibility statement.

1998-12-06 03:38:33 Tree
[737e67] by rpj rpj

As well as patches from Anders, this commit includes some older changes
that hadn't been checked in. Those are to finish off the original TSD management
scheme which will now start to be replaced by John Bossom's implementation.
Anders' description of his changes:-
Fixes the problem with
`TryEnterCriticalSection' on w95 systems. Instead
of directly calling `TryEnterCriticalSection' it
tries to get a pointer at DLL startup and only calls
the function if it exists. See ChangeLog for things
changed.
1998-12-05 Anders Norlander <anorland@hem2.passagen.se>
* implement.h (_pthread_try_enter_critical_section): New extern
* dll.c (_pthread_try_enter_critical_section): New pointer to
TryEnterCriticalSection if it exists; otherwise NULL.
* dll.c (PthreadsEntryPoint):
Initialize _pthread_try_enter_critical_section at startup
and release kernel32 handle when DLL is being unloaded.
* mutex.c (pthread_mutex_trylock): Replaced check for NT with
a check if _pthread_try_enter_critical_section is valid
pointer to a function. Call _pthread_try_enter_critical_section
instead of TryEnterCriticalSection to avoid errors on Win95.
Sun Nov 15 21:24:06 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* cleanup.c (_pthread_destructor_run_all): Declare missing void * arg.
Fixup CVS merge conflicts.
Fri Oct 30 15:15:50 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* 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".
Sat Oct 24 18:34:59 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* global.c: Add TSD key management array and index declarations.
* implement.h: Ditto for externs.
Fri Oct 23 00:08:09 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* implement.h (_PTHREAD_TSD_KEY_REUSE): Add enum.
* private.c (_pthread_delete_thread): Add call to
_pthread_destructor_run_all() to clean up the threads keys.
* cleanup.c (_pthread_destructor_run_all): Check for no more dirty
keys to run destructors on. Assume that the destructor call always
succeeds and set the key value to NULL.

1998-12-06 02:52:22 Tree
[47d04b] by bje bje

1998-10-30 Ben Elliston <bje@cygnus.com>
* condvar.c (cond_wait): Fix semantic error. Test for equality
instead of making an assignment.

1998-10-29 21:40:46 Tree
[e0b68a] by rpj rpj

Fri Oct 30 15:15:50 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* 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".

1998-10-29 20:58:36 Tree
[e0cb3d] by rpj rpj

Thu Oct 22 21:44:44 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* tsd.c: Add description of pthread_key_delete() from the
standard as a comment.

1998-10-22 04:50:01 Tree
[2a5805] by rpj rpj

Thu Oct 15 17:42:37 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* tsd1.c (mythread): Fix some casts and add some diagnostics.
Fix inverted conditional.

1998-10-15 00:46:01 Tree
[89a4d0] by rpj rpj

Thu Oct 15 14:05:01 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* private.c (_pthread_new_thread): Remove init of destructorstack.
No longer an element of pthread_t.

1998-10-14 23:45:48 Tree
[c15534] by rpj rpj

Thu Oct 15 14:05:01 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* tsd.c (pthread_setspecific): Fix type declaration and cast.
(pthread_getspecific): Ditto.
(pthread_getspecific): Change error return value to NULL if key
is not in use.
Yet again.

1998-10-14 23:39:06 Tree
[26a9df] by rpj rpj

Thu Oct 15 14:05:01 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* tsd.c (pthread_setspecific): Fix type declaration and cast.
(pthread_getspecific): Ditto.

1998-10-14 21:09:24 Tree
[424ca5] by rpj rpj

Thu Oct 15 11:53:21 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* global.c (_pthread_tsd_key_table): Fix declaration.
* implement.h(_pthread_TSD_keys_TlsIndex): Add missing extern.
(_pthread_tsd_mutex): Ditto.
* create.c (_pthread_start_call): Fix "keys" array declaration.
Add comment.
* tsd.c (pthread_setspecific): Fix type declaration and cast.
(pthread_getspecific): Ditto.
* cleanup.c (_pthread_destructor_run_all): Declare missing loop
counter.

1998-10-14 19:51:06 Tree
[8c4d7f] by rpj rpj

Wed Oct 14 21:09:24 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* private.c (_pthread_new_thread): Increment _pthread_threads_count.
(_pthread_delete_thread): Decrement _pthread_threads_count.
Remove some comments.
* exit.c (_pthread_exit): : Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.
(_pthread_vacuum): Remove call to _pthread_destructor_pop_all().
* create.c (pthread_create): Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.
* global.c (_pthread_tsd_mutex): Add mutex for TSD operations.
* tsd.c (pthread_key_create): Add critical section.
(pthread_setspecific): Ditto.
(pthread_getspecific): Ditto.
(pthread_key_delete): Ditto.
* sync.c (pthread_join): Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.

1998-10-14 06:49:46 Tree
[4ed54c] by rpj rpj

Mon Oct 12 00:00:44 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* implement.h (_pthread_tsd_key_table): New.
* create.c (_pthread_start_call): Initialise per-thread TSD keys
to NULL.
* misc.c (pthread_once): Correct typo in comment.
* implement.h (_pthread_destructor_push): Remove.
(_pthread_destructor_pop): Remove.
(_pthread_destructor_run_all): Rename from _pthread_destructor_pop_all.
(_PTHREAD_TSD_KEY_DELETED): Add enum.
(_PTHREAD_TSD_KEY_INUSE): Add enum.
* cleanup.c (_pthread_destructor_push): Remove.
(_pthread_destructor_pop): Remove.
(_pthread_destructor_run_all): Totally revamped TSD.
* dll.c (_pthread_TSD_keys_TlsIndex): Initialise.
* tsd.c (pthread_setspecific): Totally revamped TSD.
(pthread_getspecific): Ditto.
(pthread_create): Ditto.
(pthread_delete): Ditto.
Sun Oct 11 22:44:55 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* global.c (_pthread_tsd_key_table): Add new global.
* implement.h (_pthread_tsd_key_t and struct _pthread_tsd_key):
Add.
(struct _pthread): Remove destructorstack.
* cleanup.c (_pthread_destructor_run_all): Rename from
_pthread_destructor_pop_all. The key destructor stack was made
global rather than per-thread. No longer removes destructor nodes
from the stack. Comments updated.

1998-10-14 03:06:39 Tree
[7522a5] by rpj rpj

Mon Oct 12 02:12:29 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* tsd1.c: New. Test TSD using 1 key and 2 threads.

1998-10-11 19:51:50 Tree
[b1ae51] by bje bje

Update.

1998-10-06 02:54:06 Tree
[192816] by bje bje

1998-10-06 Ben Elliston <bje@cygnus.com>
* condvar.c (cond_wait): Use POSIX, not Win32 mutex calls.
(pthread_cond_broadcast): Likewise.
(pthread_cond_signal): Likewise.

1998-10-06 01:25:34 Tree
[498a79] by bje bje

Move comment to a more obvious position.

1998-10-06 01:22:45 Tree
[2363e3] by bje bje

1998-10-05 Ben Elliston <bje@cygnus.com>
* pthread.def: Update. Some functions aren't available yet, others
are macros in <pthread.h>.
* tests/join.c: Remove; useless.

1998-10-04 23:01:58 Tree
[46f417] by rpj rpj

Mon Oct 5 14:25:08 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* pthread.def: New file for building the DLL.

1998-10-04 22:12:50 Tree
[547aa1] by bje bje

1998-10-05 Ben Elliston <bje@cygnus.com>
* tests/self.c: Remove; rename to self1.c.
* tests/self1.c: This is the old self.c.
* tests/self2.c: New file. Test pthread_self() with a single
thread. Passes.
* tests/self3.c: New file. Test pthread_self() with a couple of
threads to ensure their thread IDs differ. Passes.

1998-10-04 22:07:33 Tree
[d0aed2] by bje bje

1998-10-05 Ben Elliston <bje@cygnus.com>
* misc.c (pthread_once): Use the POSIX mutex primitives, not Win32.
Remove irrelevant FIXME comment.
* pthread.h (PTHREAD_ONCE_INIT): Define.
* tests/once1.c: New file; test for pthread_once(). Passes.

1998-10-04 21:04:28 Tree
[11b839] by bje bje

1998-10-05 Ben Elliston <bje@cygnus.com>
* misc.c (pthread_equal): Correct inverted logic bug.
* tests/create1.c: New file; test pthread_create(). Passes.
* tests/equal.c: Poor test; remove.
* tests/equal1.c New file; test pthread_equal(). Passes.

1998-10-04 19:38:04 Tree
[047763] by bje bje

Update.

1998-10-04 19:33:19 Tree
Older >