summaryrefslogtreecommitdiff
path: root/implement.h
AgeCommit message (Collapse)Author
1998-07-21Wed Jul 22 00:16:22 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>rpj
* cleanup.c (_pthread_cleanup_push): Implement. (_pthread_cleanup_pop): Implement. (_pthread_do_cancellation): Implement. These are private to the implementation. The real cleanup functions are macros. See below. * pthread.h (pthread_cleanup_push): Implement as a macro. (pthread_cleanup_pop): Implement as a macro. Because these are macros which start and end a block, the POSIX scoping requirement is observed. See the comment in the file. * exit.c (pthread_exit): Refine the code. * create.c (pthread_create): Code cleanup. * implement.h (RND_SIZEOF): Add RND_SIZEOF(T) to round sizeof(T) up to multiple of DWORD. Add function prototypes. * private.c (_pthread_getthreadindex): "*thread" should have been "thread". Detect empty slot fail condition.
1998-07-19Mon Jul 20 02:31:05 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>rpj
* private.c (_pthread_getthreadindex): Implement. * pthread.h: Add application static data dependent on _PTHREADS_BUILD_DLL define. This is needed to avoid allocating non-sharable static data within the pthread DLL. * implement.h: Add _pthread_cleanup_stack_t, _pthread_cleanup_node_t and _PTHREAD_HASH_INDEX. * exit.c (pthread_exit): Begin work on cleanup and de-allocate thread-private storage. * create.c (pthread_create): Add thread to thread table. Keep a thread-private copy of the attributes with default values filled in when necessary. Same for the cleanup stack. Make pthread_create C run-time library friendly by using _beginthreadex() instead of CreateThread(). Fix error returns. Sun Jul 19 16:26:23 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au> * implement.h: Rename pthreads_thread_count to _pthread_threads_count. Create _pthread_threads_thread_t struct to keep thread specific data. * create.c: Rename pthreads_thread_count to _pthread_threads_count. (pthread_create): Handle errors from CreateThread().
1998-07-171998-07-18 Ben Elliston <bje@cygnus.com>bje
* implement.h (_pthread_condattr_t): Remove shared attribute.
1998-07-171998-07-17 Ben Elliston <bje@cygnus.com>bje
* implement.h (_pthread_mutexattr_t): Remove shared attribute.
1998-07-12See the ChangeLog.rpj
1998-07-121998-07-13 Ben Elliston <bje@cygnus.com>bje
* implement.h (PTHREADS_THREADS_MAX): Remove trailing semicolon. (PTHREADS_STACK_MIN): Specify; needs confirming. (_pthreads_attr_t): Define this type. (_pthreads_condattr_t): Likewise.
1998-07-121998-07-12 Ben Elliston <bje@cygnus.com>bje
* implement.h (_pthread_mutex_attr_t): Define this implementation internal type. Application programmers only see a mutex attribute object as a void pointer.
1998-07-11Preliminary.rpj