[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] POSIX threading library branch, master-fix_have_kernel_resources,
From: |
Thomas Schwinge |
Subject: |
[SCM] POSIX threading library branch, master-fix_have_kernel_resources, created. 50a5d4825869a40ecddf650181b6c4f75dfc6dd0 |
Date: |
Mon, 22 Jun 2009 21:33:33 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "POSIX threading library".
The branch, master-fix_have_kernel_resources has been created
at 50a5d4825869a40ecddf650181b6c4f75dfc6dd0 (commit)
- Log -----------------------------------------------------------------
commit 50a5d4825869a40ecddf650181b6c4f75dfc6dd0
Author: Thomas Schwinge <address@hidden>
Date: Sun Apr 12 00:00:00 2009 +0200
[UNFINISHED] Fix handling of have_kernel_resources on Mach/Hurd.
<http://lists.gnu.org/archive/html/bug-hurd/2009-04/msg00028.html>
Further comments by Neal:
<neal> do you want a reply on the libpthread one inline?
<neal> the short answer is: yes, that's a bug
<neal> unfortunately, your fix is not enough
<neal> the predicate controls two resources: the wakeup port and the thread
itself
<tschwinge> Oh, right, I see.
<neal> also, there may be a race:
<neal> set the predicate to free, then kill the thread
<neal> that's not so good
<neal> so a proper solution requires a bit more thought
<tschwinge> I think I wondered about that as well. But isn't there the same
problem with Viengoos?
<neal> it is difficult as cleanly committing suicide is hard :-)
<neal> could be
<neal> on viengoos, I don't actually deallocate the thread in
pt-thread-halt.c
<neal> I just call suspend
<neal> the thread is only deallocated in pt-thread-dealloc.c
commit 2e166e1a00928d5a31f00c185c2464b2146d6f6a
Author: Neal H. Walfield <address@hidden>
Date: Sat Aug 16 13:13:07 2008 +0000
2008-08-16 Neal H. Walfield <address@hidden>
* pthread/pt-alloc.c: Don't include <bits/atomic.h>.
(__pthread_free_threads): Change to a struct __pthread *.
(__pthread_free_threads_lock): New variable.
(__pthread_alloc): When looking for a TCB to reuse, iterate over
__pthread_free_threads taking the first for which the STATE field
is PTHREAD_TERMINATED. When reusing a TCB, first call
__pthread_thread_halt on it.
* pthread/pt-dealloc.c: Don't include <bits/atomic.h>.
(__pthread_free_threads): Change to a struct __pthread *.
(__pthread_free_threads_lock): New declaration.
(__pthread_dealloc): Enqueue PTHREAD on __PTHREAD_FREE_THREADS.
Set PTHREAD->STATE to PTHREAD_TERMINATED after everything else.
* pthread/pt-join.c (pthread_join): Call __pthread_thread_halt
before destroying the thread. When destroying the thread, call
__pthread_thread_dealloc on it.
* pthread/pt-detach.c (pthread_detach): If destroying the thread,
call __pthread_thread_halt before deallocating the stack. In this
case, also call __pthread_thread_dealloc on the tcb.
* pthread/pt-exit.c (pthread_exit): Call __pthread_dealloc only if
the thread is detached and then as the last thing we do before
calling __pthread_thread_halt.
* pthread/pt-internal.h (__pthread_thread_halt): Remove argument
NEED_DEALLOC. Update users.
* sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): Remove
argument need_dealloc.
* sysdeps/mach/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Add field
have_kernel_resources.
* sysdeps/mach/hurd/pt-thread-alloc.c (__pthread_thread_alloc): If
THREAD->HAVE_KERNEL_RESOURCES is true, just return. After
allocating the resources, set THREAD->HAVE_KERNEL_RESOURCES to
true.
commit 61585a1da2ce36b0db1cbc9673456205d5111e78
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 15:07:50 2008 +0000
2008-08-12 Neal H. Walfield <address@hidden>
Merge changes from hurd-l4 fork.
* Makefile (SRCS): Add pt-startup.c and pt-mutex-transfer-np.c.
(sysdeps_headers): Add pthread-np.h.
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/bits/pthread-np.h: New file.
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-startup.c: New file.
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/bits/mutex.h (__PTHREAD_RECURSIVE_MUTEX_INITIALIZER):
Define.
(__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): Don't define.
* include/pthread/pthread.h
(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) [__USE_GNU]: Define.
(PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP): Don't define.
2008-08-12 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h: Include <sys/cdefs.h>.
(__extern_inline): If not defined, define appropriately.
2008-06-01 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP):
New definition.
* sysdeps/generic/bits/mutex.h
(__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): New definition.
* sysdeps/generic/bits/mutex-attr.h (__pthread_recursive_mutexattr):
New definition.
* sysdeps/generic/pt-mutexattr.c (__pthread_recursive_mutexattr):
New declaration.
* sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): If ATTR
is &__PTHREAD_RECURSIVE_MUTEXATTR, don't allocate a copy, just
save in MUTEX->ATTR.
* sysdeps/generic/pt-mutex-destroy.c (_pthread_mutex_destroy): If
MUTEX->ATTR is &__PTHREAD_RECURSIVE_MUTEXATTR, don't free it.
2008-05-29 Thomas Schwinge <address@hidden>
* sysdeps/generic/sem-timedwait.c: Don't include <error.h>.
2008-05-21 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h: Include <bits/pthread-np.h>.
2008-03-01 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-mutex-transfer-np.c: New file.
* pthread/pt-self.c (pthread_self): Assert that SELF is not NULL.
2007-12-23 Neal H. Walfield <address@hidden>
* pthread/pt-join.c (pthread_join): Cast argument to
pthread_cleanup_push to avoid warning.
2007-11-23 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_startup): Add declaration.
* pthread/pt-create.c (entry_point): Call __pthread_startup.
commit 38648cd5741e671ef977879150be16546b71d84b
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 14:34:18 2008 +0000
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/bits/pthread-np.h: New file.
commit e9bf4a5cc0e6de29a0f27825d16748d8f4261d4d
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 14:03:34 2008 +0000
2006-03-04 Samuel Thibault <address@hidden>
* sysdeps/ia32/machine-sp.h (thread_stack_pointer):
Optimize esp read.
commit fa49ade26a798fe0c9f25aa09048c6aefbfb8a84
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 14:00:52 2008 +0000
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-startup.c (__pthread_startup): New file.
commit 0519673768de7ce1d212af093974bbaaef3e74d3
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 13:31:49 2008 +0000
libpthread/
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/bits/mutex.h (__PTHREAD_RECURSIVE_MUTEX_INITIALIZER):
Define.
(__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): Don't define.
* include/pthread/pthread.h
(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) [__USE_GNU]: Define.
(PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP): Don't define.
libhurd-mm/
2008-08-12 Neal H. Walfield <address@hidden>
* storage.c (storage_low_mutex): Use
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, not
PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP.
commit f214670f86b9355183e2478dd1827474f60439b8
Merge: 7a69a458fe11877a7b162191a6c583d7c6bd764f
0236089d351775cf41a9a951621b7c083488ec20
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 13:03:06 2008 +0000
2008-08-12 Neal H. Walfield <address@hidden>
Merge in Samuel Thibault's changes from the main line.
* Makefile.am (libpthread_a_SOURCES): Add pt-getattr.c.
* headers.m4: Link libpthread/include/pthread/pthreadtypes.h to
sysroot/include/pthread/pthreadtypes.h and
libpthread/sysdeps/${arch}/bits/spin-lock-inline.h. to
sysroot/include/bits/spin-lock-inline.h.
* include/pthread/pthread.h: Include <sys/cdefs.h>.
(__extern_inline): If not defined, define appropriately.
2008-08-04 Samuel Thibault <address@hidden>
* include/pthread/pthreadtypes.h (__pthread_inheritsched): Remove
comma at end of enumeration.
2008-08-03 Samuel Thibault <address@hidden>
* Makefile (sysdeps_headers): Add spin-lock-inline.h.
(SYSDEP_PATH): Move sysdeps/ia32 right after
sysdeps/$(MICROKERNEL)/ia32.
* include/pthread/pthread.h: Include <bits/spin-lock-inline.h>.
* sysdeps/ia32/bits/spin-lock.h: Move inlines to...
* sysdeps/ia32/bits/spin-lock-inline.h: ... new file.
2008-08-02 Samuel Thibault <address@hidden>
* sysdeps/generic/bits/mutex.h: Do not include <errno.h> and
<stddef.h>
* sysdeps/ia32/bits/memory.h (__memory_barrier): Add memory clobber.
* sysdeps/ia32/bits/spin-lock.h (__pthread_spin_trylock,
__pthread_spin_unlock): Add memory clobbers.
* sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Fix reservation of
stack room for initial frame.
2008-07-18 Samuel Thibault <address@hidden>
* Makefile (sysdeps_headers): add pthread/pthreadtypes.h
2008-06-27 Samuel Thibault <address@hidden>
* include/pthread/pthread.h: Do not define __need_clockid_t, include
<time.h>, and define clockid_t if __clockid_defined is not defined.
Include <pthread/pthreadtypes.h>
(pthread_equal): New extern inline.
(pthread_cleanup_push, pthread_cleanup_pop): New macros.
(__pthread_process_shared, __pthread_inheritsched,
__pthread_contentionscope, __pthread_detachstate,
__pthread_mutex_protocol, __pthread_mutex_type,
pthread_attr_t, pthread_mutex_attr_t, pthread_mutex_t,
pthread_condattr_t, pthread_cond_t, pthread_spinlock_t,
pthread_rwlockattr_t, pthread_rwlock_t, pthread_barrierattr_t,
pthread_barrier_t, pthread_key_t, pthread_once_t): Move enums and
typedefs to...
* include/pthread/pthreadtypes.h: ... new file.
* sysdeps/generic/bits/cancelation.h (pthread_cleanup_push): Rename
macro to __pthread_cleanup_push.
(pthread_cleanup_pop): Rename macro to __pthread_cleanup_pop.
* sysdeps/generic/bits/barrier-attr.h (__pthread_process_shared):
Forward-declare enum.
* sysdeps/generic/bits/condition-attr.h (__pthread_process_shared):
Likewise.
* sysdeps/generic/bits/mutex-attr.h (__pthread_mutex_protocol,
__pthread_process_shared, __pthread_mutex_type):
Likewise.
* sysdeps/generic/bits/rwlock-attr.h (__pthread_process_shared):
Likewise.
* sysdeps/generic/bits/thread-attr.h (__pthread_detachstate,
__pthread_inheritsched, __pthread_contentionscope):
Likewise.
* sysdeps/generic/bits/pthread.h (pthread_t): Rename type to
__pthread_t.
(pthread_equal): Rename to __pthread_equal.
2008-06-27 Samuel Thibault <address@hidden>
* sysdeps/generic/bits/thread-barrier.h: Remove unused file.
2008-05-17 Samuel Thibault <address@hidden>
* include/pthread/pthread.h (pthread_getattr_np): New declaration.
* pthread/pt-getattr.c: New file.
* Makefile (SRCS): Add pt-getattr.c.
2008-03-16 Samuel Thibault <address@hidden>
* include/libc-symbols.h (HAVE_ASM_PREVIOUS_DIRECTIVE): Define.
2008-02-29 Samuel Thibault <address@hidden>
* sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Align stack on 0x10
for MMX operations.
2008-01-01 Samuel Thibault <address@hidden>
* include/pthread/pthread.h (pthread_spin_destroy, pthread_spin_init,
pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Use
__extern_inline macro instead of extern __inline.
* sysdeps/ia32/bits/spin-lock.h (__PT_SPIN_INLINE,
__pthread_spin_lock): Likewise
* sysdeps/generic/bits/pthread.h (pthread_equal): Declare ; only
provide inline when __USE_EXTERN_INLINES is defined. Use __extern_inline
macro instead of extern __inline.
* sysdeps/ia32/bits/memory.h (__memory_barrier): Add static to inline.
commit 7a69a458fe11877a7b162191a6c583d7c6bd764f
Author: Neal H. Walfield <address@hidden>
Date: Sun Jun 22 09:16:45 2008 +0000
viengoos/
2008-06-22 Neal H. Walfield <address@hidden>
* thread.h: Include "list.h".
(struct thread) [! NDEBUG]: Add field futex_waiter_node.
[! NDEBUG]: Instantiate the futex_waiter list class.
(futex_waiters) [! NDEBUG]: Declare.
* server.c (futex_waiters) [! NDEBUG]: New variable.
(server_loop) [! NDEBUG]: If we don't get an RPC for a while,
dequeue all thread's enqueued on FUTEX_WAITERS and return EDEADLK.
When blocking a thread on a futex, add THREAD to FUTEX_WAITERS.
* object.c (object_wait_queue_dequeue) [! NDEBUG]: If
THREAD->WAIT_REASON is THREAD_WAIT_FUTEX, unlink THREAD from
FUTEX_WAITERS.
hurd/
2008-06-22 Neal H. Walfield <address@hidden>
* futex.h [! RM_INTERN]: Include <errno.h>.
(futex_wait): On error, set ERRNO and return -1.
(futex_timed_wait): Likewise.
(futex_wake): Likewise.
* mutex.h (ss_mutex_lock): If FUTEX_WAIT returns failure, print
some debugging information.
commit 9eb270404ceced4a2dc49d875c0b4e674e0b51d4
Author: Neal H. Walfield <address@hidden>
Date: Sun Jun 22 08:58:20 2008 +0000
2008-06-22 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-mutex-timedlock.c
(__pthread_mutex_timedlock_internal): Don't set MUTEX->OWNER here.
* sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock): Set
it here to WAKEUP.
commit e1e18be3d956df4b0b9cbbc67af1727c8742a294
Author: Neal H. Walfield <address@hidden>
Date: Sat Jun 7 15:25:02 2008 +0000
2008-06-07 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_queue_iterate): Use 1, not
true.
(__pthread_dequeuing_iterate): Likewise.
commit 4ea9cbe154365e4b2e4a165c089aaaabfe3a0117
Author: Neal H. Walfield <address@hidden>
Date: Thu Jun 5 13:21:02 2008 +0000
viengoos/
2008-06-05 Neal H. Walfield <address@hidden>
* cap-lookup.c: Move from here...
* ../libhurd-mm/as-lookup.c: ... to here.
* as.c: Move from here...
* ../libhurd-mm/as-build.c: ... to here.
* as-custom.c: Move from here...
* ../libhurd-mm/as-build-custom.c: ... to here.
* as.h: Move contents...
* ../libhurd-mm/as.h: ... to here...
* ../libhurd-mm/as-compute-gbits.h: ... and to here.
* bits.h: Move from here...
* ../libhurd-mm/bits.h: ... to here.
* Makefile.am (viengoos_SOURCES): Remove cap-lookup.c, as.h and
as.c.
(t_as_SOURCES): Likewise.
(t_activity_SOURCES): Likewise.
(viengoos_LDADD): Add ../libhurd-mm/libas-kernel.a.
(t_as_LDADD): Add ../libhurd-mm/libas-check.a.
(t_activity_LDADD): Likewise.
(lib_LIBRARIES): Remove libhurd-cap.a.
(libhurd_cap_a_CPPFLAGS): Remove variable.
(libhurd_cap_a_CFLAGS): Likewise.
(libhurd_cap_a_SOURCES): Likewise.
* server.c (server_loop): Replace use of object_lookup_rel with
as_object_lookup_rel. Replace use of slot_lookup_rel with
as_slot_lookup_rel_use. Replace use of cap_lookup_rel with
as_cap_lookup_rel.
* viengoos.c: Don't include "as.h", include <hurd/as.h>.
* t-activity.c: Don't include "as.h", include <hurd/as.h>.
(allocate_object): Change return type to struct
as_allocate_pt_ret.
* t-as.c: Don't include "as.h", include <hurd/as.h>.
(allocate_object): Change return type to struct
as_allocate_pt_ret.
(allocate_page_table): New function.
(try): Replace use of as_insert with as_insert_full. Replace use
of slot_lookup_rel with as_slot_lookup_rel_use. Replace use of
object_lookup_rel with as_object_lookup_rel.
(test): Likewise.
* t-guard.c: Don't include "as.h", include <hurd/as.h>. Include
"../libhurd-mm/as-compute-gbits.h".
libhurd-mm/
2008-06-05 Neal H. Walfield <address@hidden>
* as.h: Include <hurd/exceptions.h>.
[! RM_INTERN]: Include <hurd/storage.h> and <pthread.h>.
(as_lock_ensure_stack) [! RM_INTERN]: New function.
(as_lock): New function.
(as_lock_readonly): Likewise.
(as_unlock): Likewise.
(meta_data_activity) [RM_INTERN]: Don't declare.
(shadow_root) [RM_INTERN]: Don't declare.
(struct as_insert_rt): Rename from this...
(struct as_allocate_pt_ret): ... to this. Update users.
(as_allocate_page_table_t): New typedef.
(as_allocate_page_table): New declaration.
(as_build): New declaration.
(as_build_custom): Likewise.
(as_slot_ensure): Remove declaration.
(as_ensure_full): New macro.
(as_ensure_use) [! RM_INTERN]: Likewise.
(as_ensure) [! RM_INTERN]: New function.
(as_insert): Rename from this...
(as_insert_full): ... to this. Don't return the capability.
Reverse the order of the source address and cap. Replace
allocate_object parameter with an allocate_page_table parameter.
Update users.
(as_insert) [! RM_INTERN]: New function.
(as_slot_ensure_full_custom): Rename from this...
(as_ensure_full_custom): ... to this. Replace allocate_object
parameter with an allocate_page_table parameter.
(as_insert_custom): Likewise.
(union as_lookup_ret): New definition.
(as_lookup_want_cap): New definition.
(as_lookup_want_slot): Likewise.
(as_lookup_want_object): Likewise.
(as_lookup_rel): New declaration.
(slot_lookup): Remove declaration.
(as_slot_lookup_rel_use): Replace it with this macro.
(as_slot_lookup_use) [! RM_INTERN]: New macro.
(as_cap_lookup_rel): New function.
(cap_lookup): Rename from this...
(as_cap_lookup) [! RM_INTERN]: ... to this. Remove activity
parameter. Implement here as a static inline function.
(as_object_lookup_rel): New function.
(object_lookup): Rename from this...
(as_object_lookup) [! RM_INTERN]: ... to this. Remove activity
parameter. Implement here as a static inline function.
(as_dump_from): New declaration.
* as-compute-gbits.h: Include <hurd/folio.h>.
* as.c (allocate_object): Rename from this...
(as_allocate_page_table): ... to this. Remove static qualifier.
Don't take parameter type, just allocate a cap_cappage.
(as_slot_ensure): Remove function.
(as_init): Replace use of slot_lookup_rel with as_slot_lookup_use
or as_cap_lookup as appropriate.
(cap_lookup): Remove function.
(object_lookup): Likewise.
(slot_lookup): Likewise.
(as_dump): Likewise.
* as-build.c: Don't include "as.h", but <hurd/as.h>. Include
<hurd/rm.h>, "as-compute-gbits.h".
[RM_INTERN]: Don't include "object.h" but "../viengoos/object.h".
(CUSTOM) [ID_SUFFIX]: Define.
(as_build_internal): Rename from this...
(as_build): ... to this. Remove static qualifier. Replace
parameter allocate_object with allocate_page_table. Use it
instead.
(as_slot_ensure_full): Remove function.
(as_insert): Likewise.
* as-build-custom.c (as_object_index_t): Remove definition.
(AS_LOCK): Don't define.
(AS_UNLOCK): Don't define.
(as_ensure_full_custom): New function.
(as_insert_custom): Likewise.
* as-lookup.c: Include <hurd/as.h>.
[RM_INTERN]: Don't include "object.h" but "../viengoos/object.h".
[! RM_INTERN]: Include <pthread.h>.
(as_lock) [! RM_INTERN]: Rename from this...
(as_rwlock) [! RM_INTERN]: ... to this.
(ensure_stack) [! RM_INTERN]: Remove function.
(AS_LOCK): Don't define.
(AS_UNLOCK): Don't define.
(lookup): Rename from this...
(as_lookup_rel): ... to this. Change mode's type to an enum
as_lookup_mode. Change rt's type to a union as_lookup_ret. Don't
use want_object but as_lookup_want_object. Don't use want_slot
but as_lookup_want_slot. Don't use want_cap but
as_lookup_want_cap.
(cap_lookup_rel): Remove function.
(object_lookup_rel): Likewise.
(slot_lookup_rel): Likewise.
(print_nr): Move from here...
* as-lookup.c (do_walk): Move from here...
* as-dump.c (do_walk): ... to here.
* as-lookup.c (as_dump_from): Move from here...
* as-dump.c (as_dump_from): ... to here.
* Makefile.am (lib_LIBRARIES) [ENABLE_TESTS]: Set to libas-check.a
(lib_LIBRARIES) [! ENABLE_TESTS]: Add libas-kernel.a.
(libhurd_mm_a_SOURCES): Add bits., as-build.c as-build-custom.c,
as-lookup.c and as-dump.c.
(libas_kernel_a_CPPFLAGS): New variable.
(libas_kernel_a_CCASFLAGS): New variable.
(libas_kernel_a_CFLAGS): New variable.
(libas_kernel_a_SOURCES): New variable.
(libas_check_a_CPPFLAGS): New variable.
(libas_check_a_CCASFLAGS): New variable.
(libas_check_a_CFLAGS): New variable.
(libas_check_a_SOURCES): New variable.
* anonymous.c (fault): Replace use of as_slot_ensure with
as_ensure.
* exceptions.c (exception_handler_init): Replace use of
as_slot_ensure with as_ensure.
* storage.c (storage_check_reserve_internal): Replace use of
as_lock with as_rwlock. Replace use of as_slot_ensure with and
slot_lookup with as_ensure and as_slot_lookup_use.
(storage_alloc): Replace use of slot_lookup with
as_slot_lookup_use.
hurd/
2008-06-05 Neal H. Walfield <address@hidden>
* cap.h: Don't include <pthread.h>.
(as_lock): Remove declaration.
(cap_lookup_rel): Likewise.
(object_lookup_rel): Likewise.
(slot_lookup_rel): Likewise.
/
2008-06-05 Neal H. Walfield <address@hidden>
* libc.a.in: Remove -lhurd-cap.
* Makefile.am (libc-stmp): Remove dependency on
viengoos/libhurd-cap.a.
2008-06-05 Neal H. Walfield <address@hidden>
* process-spawn.c (as_insert_custom): Replace use of as_insert
with as_insert_full.
(allocate_object): Change return type to struct
as_allocate_pt_ret. Replace use of as_slot_ensure with
as_ensure_use.
(allocate_page_table): New function.
(process_spawn): Update use of as_insert_custom to be consistent
with new API, in particular, pass allocate_page_table instead of
allocate_object. Replace use of object_lookup_rel with
as_object_lookup_rel.
libpthread/
2008-06-05 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
Replace use of as_slot_ensure with as_ensure.
ruth/
2008-06-05 Neal H. Walfield <address@hidden>
* ruth.c (main): Replace use of slot_lookup with as_cap_lookup.
Replace use of as_slot_ensure with as_ensure_use. Replace use of
slot_lookup with as_slot_lookup_use.
commit e48957feb55420710f89d88ca5a45ce08551ff12
Author: Neal H. Walfield <address@hidden>
Date: Sun Jun 1 20:25:36 2008 +0000
2008-06-01 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP):
New definition.
* sysdeps/generic/bits/mutex.h
(__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): New definition.
* sysdeps/generic/bits/mutex-attr.h (__pthread_recursive_mutexattr):
New definition.
* sysdeps/generic/pt-mutexattr.c (__pthread_recursive_mutexattr):
New declaration.
* sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): If ATTR
is &__PTHREAD_RECURSIVE_MUTEXATTR, don't allocate a copy, just
save in MUTEX->ATTR.
* sysdeps/generic/pt-mutex-destroy.c (_pthread_mutex_destroy): If
MUTEX->ATTR is &__PTHREAD_RECURSIVE_MUTEXATTR, don't free it.
commit 447867550c9ea153fdaa9966e92fd11cf543953f
Author: Thomas Schwinge <address@hidden>
Date: Fri May 30 00:34:53 2008 +0000
2008-05-29 Thomas Schwinge <address@hidden>
* headers.m4: Link files into `sysroot/include/' instead of `include/'.
Create symbolic link to package's library in `sysroot/lib/'.
* Makefile.am [ENABLE_TESTS]: Don't build package's library.
commit 2a19601c39b28ba7ebe40ddc726b2f32fe7919be
Author: Thomas Schwinge <address@hidden>
Date: Thu May 29 21:56:09 2008 +0000
2008-05-29 Thomas Schwinge <address@hidden>
* sysdeps/generic/sem-timedwait.c: Don't include <error.h>.
commit 6e24ba92d8d7320bf7c4b11b2b74b07fc1cf93a3
Author: Neal H. Walfield <address@hidden>
Date: Thu May 29 20:45:48 2008 +0000
libhurd-mm/
2008-05-29 Neal H. Walfield <address@hidden>
* exceptions.c (exception_handler_activated): Assume the fault is
on the stack if it is one page above or three pages below the
stack pointer.
(exception_handler_init): Allocate an area of address space
EXCEPTION_STACK_SIZE bytes larges. Fill it with pages. Set the
first page as the thread's exception page and the top of the area
minus one word as the stack pointer. Set the last word to the
location of the exception page.
* ia32-exception-entry.S: Include <hurd/exceptions.h>.
(PAGESIZE): Don't define.
(_exception_handler_entry): Rewrite to not assume that the
exception page is at the start of the page in which the stack
pointer is, but at the location stored in the word after the bottom
of the stack.
* Makefile.am (libhurd_mm_a_CCASFLAGS): New variable.
* pager.c (ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE
- PAGESIZE bytes large. Write to each page.
libpthread/
2008-05-29 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-sysdep.h Include <hurd/exceptions.h>.
(EXCEPTION_AREA_SIZE): Define.
(EXCEPTION_AREA_SIZE_LOG2): Likewise.
(EXCEPTION_PAGE): Likewise.
(PTHREAD_SYSDEP_MEMBERS): Change object's type to an addr_t.
Update users. Remove field exception_page, replace with
exception_area. Add field exception_area_va.
* sysdeps/l4/hurd/pt-thread-alloc.c: Include <hurd/as.h> and
<hurd/addr.h>.
(__pthread_thread_alloc): Allocate EXCEPTION_AREA_SIZE bytes of
address space. Save it in THREAD->EXCEPTION_AREA_VA. Allocate a
page for each page in that area. Save them in
THREAD->EXCEPTION_AREA.
* sysdeps/l4/hurd/ia32/pt-setup.c (__pthread_setup): Set
EXCEPTION_PAGE->EXCEPTION_HANDLER_SP to the end of
EXCEPTION_PAGE->EXCEPTION_HANDLER_SP minus one word, in which we
save the address of the exception page.
* sysdeps/l4/hurd/pt-thread-start.c (__pthread_thread_start): Set
IN.EXCEPTION_PAGE to the first page in THREAD->EXCEPTION_AREA_VA.
* sysdeps/l4/hurd/pt-thread-halt.c: Include <hurd/mutex.h>,
<hurd/as.h> and <hurd/addr.h>.
(saved_object_lock): New variable.
(__pthread_thread_halt): Lock SAVED_OBJECT_LOCK when accessing
SAVED_OBJECT. Free the address space used by the exception
area (THREAD->EXCEPTION_AREA_VA) and its associated
storage (THREAD->EXCEPTION_AREA).
hurd/
2008-05-29 Neal H. Walfield <address@hidden>
* exceptions.h: Include <hurd/stddef.h>.
[ASM]: Only define relevant macros.
(EXCEPTION_STACK_SIZE_LOG2): Define.
(EXCEPTION_STACK_SIZE): Define.
* stddef.h [ASM]: Only define relevant macros.
(PAGESIZE): Don't append C type specifier.
(PAGESIZE_LOG2): Likewise.
viengoos/
2008-05-29 Neal H. Walfield <address@hidden>
* as.c: Include <hurd/exceptions.h>.
(ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE - PAGESIZE
bytes large. Write to each page.
* cap-lookup.c: Include <hurd/exceptions.h>.
(ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE - PAGESIZE
bytes large. Write to each page.
* zalloc.c (ZONE_SIZE): Add suffix the 1 with a U type qualifier.
(ZONES): Include one less zone.
commit b79685960d731cffd6661449bb95cea79b5fc706
Author: Neal H. Walfield <address@hidden>
Date: Tue May 27 18:29:48 2008 +0000
2008-05-27 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_queue_iterate): Before
returning the current element, save its next pointer.
(__pthread_dequeuing_iterate): Likewise.
* sysdeps/l4/hurd/pt-wakeup.c (__pthread_wakeup): Loop until we
successfully wake THREAD.
commit e6bf1e24afbac43b084f1cd1f24de6ba587d2d90
Author: Neal H. Walfield <address@hidden>
Date: Wed May 21 14:09:11 2008 +0000
2008-05-21 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/bits/pthread-np.h: New file.
* headers.m4: Don't link include/bits/pthread-np.h to
libpthread/sysdeps/l4/bits/pthread-np.h but to
libpthread/sysdeps/l4/hurd/bits/pthread-np.h.
* include/pthread/pthread.h: Include <bits/pthread-np.h>.
* sysdeps/l4/hurd/pt-setactivity-np.c (pthread_setactivity_np):
New file.
* Makefile.am (libpthread_a_SOURCES): Add pt-setactivity-np.c.
commit dbc436cfac2d9a189ec752c2b0609a252e1be4f6
Author: Neal H. Walfield <address@hidden>
Date: Sun Apr 6 10:46:13 2008 +0000
2008-04-06 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-kill.c: Just include "../generic/pt-kill.c".
commit 8eefddd9652fb7477de37a93e1b075d13e6e5bef
Author: Neal H. Walfield <address@hidden>
Date: Sat Mar 1 13:07:25 2008 +0000
2008-03-01 Neal H. Walfield <address@hidden>
Add signal implementation.
* Makefile.am (SYSDEP_PATH): Add $(srcdir)/signal.
(libpthread_a_SOURCES): Add pt-mutex-transfer-np.c, kill.c,
killpg.c, pt-kill-siginfo-np.c, raise.c, sigaction.c, sigaddset.c,
sigaltstack.c, sigdelset.c, sigemptyset.c, sigfillset.c,
sig-internal.c, sig-internal.h, siginterrupt.c, sigismember.c,
signal.c, signal-dispatch.c, signal.h, sigpending.c,
sigprocmask.c, sigsuspend.c, sigtimedwait.c, sigwait.c,
sigwaiter.c, sigwaitinfo.c, signal-dispatch-lowlevel.c, and
sigprocmask.c.
* headers.m4: Link libpthread/signal/signal.h into ../include.
* sysdeps/generic/pt-mutex-transfer-np.c: New file.
* signal/README: New file.
* signal/TODO: Likewise.
* signal/kill.c: Likewise.
* signal/pt-kill-siginfo-np.c: Likewise.
* signal/sig-internal.c: Likewise.
* signal/sig-internal.h: Likewise.
* signal/sigaction.c: Likewise.
* signal/sigaltstack.c: Likewise.
* signal/signal-dispatch.c: Likewise.
* signal/signal.h: Likewise.
* signal/sigpending.c: Likewise.
* signal/sigsuspend.c: Likewise.
* signal/sigtimedwait.c: Likewise.
* signal/sigwaiter.c: Likewise.
* signal/sigwaitinfo.c: Likewise.
* sysdeps/l4/hurd/sig-sysdep.h: Likewise.
* sysdeps/l4/hurd/sigprocmask.c: Likewise.
* sysdeps/generic/killpg.c: Likewise.
* sysdeps/generic/pt-kill.c: Likewise.
* sysdeps/generic/raise.c: Likewise.
* sysdeps/generic/sigaddset.c: Likewise.
* sysdeps/generic/sigdelset.c: Likewise.
* sysdeps/generic/sigemptyset.c: Likewise.
* sysdeps/generic/sigfillset.c: Likewise.
* sysdeps/generic/siginterrupt.c: Likewise.
* sysdeps/generic/sigismember.c: Likewise.
* sysdeps/generic/signal.c: Likewise.
* sysdeps/generic/sigwait.c: Likewise.
* sysdeps/l4/hurd/ia32/signal-dispatch-lowlevel.c: Likewise.
* sysdeps/l4/hurd/pt-sysdep.c (sigprocmask): Remove function.
* sysdeps/l4/hurd/pt-sigstate.c (__pthread_sigstate): Implement
it.
* sysdeps/l4/hurd/pt-sigstate-init.c: Include <sig-internal.h>.
(__pthread_sigstate_init): Initialize THREAD->SS.
* sysdeps/l4/hurd/pt-kill.c: Remove file.
* pthread/pt-internal.h: Include <sig-internal.h>.
(PTHREAD_SIGNAL_MEMBERS) [! PTHREAD_SIGNAL_MEMBERS]: Define.
(struct __pthread): Add PTHREAD_SIGNAL_MEMBERS.
* pthread/pt-self.c (pthread_self): Assert that SELF is not NULL.
commit 94851cf5771d016296cbba6dd26e5404ec333d74
Author: Neal H. Walfield <address@hidden>
Date: Thu Feb 21 15:09:04 2008 +0000
/
2008-02-21 Neal H. Walfield <address@hidden>
* configure.ac (CFLAGS): Remove variable.
(USER_CFLAGS): New variable.
(USER_CPPFLAGS): Likewise.
(USER_LDFLAGS): Likewise.
(USER_LDADD): Likewise.
(KERNEL_CFLAGS): Likewise.
(KERNEL_CPPFLAGS): Likewise.
* Makefile.am (SUBDIRS): Build . after building laden and
viengoos.
hieronymus/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Remove variable.
(AM_LDFLAGS): Likewise.
(hieronymus_CPPFLAGS): New variable.
(hieronymus_CFLAGS): Likewise.
(hieronymus_LDFLAGS): Likewise.
(hieronymus_LDADD): Don't include libc.a directly, use the value
of $(USER_LDADD) instead.
hurd/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(t_addr_CPPFLAGS): Replace use of $(COMMON_CPPFLAGS)
with use of $(CHECK_CPPFLAGS).
(t_addr_trans_CPPFLAGS): Likewise.
(t_rpc_CPPFLAGS): Likewise.
libc-parts/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(libc_parts_a_CPPFLAGS): Set to $(USER_CPPFLAGS).
(libc_parts_a_CFLAGS): New variable.
(libc_kernel_a_CPPFLAGS): Set to $(KERNEL_CPPFLAGS).
(libc_kernel_a_CFLAGS): New variable.
(t_setjmp_CPPFLAGS): Remove use of $(COMMON_CPPFLAGS) with
$(CHECK_CPPFLAGS).
libhurd-btree/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(libhurd_btree_a_CPPFLAGS): Replace use of above with
$(USER_CPPFLAGS).
(libhurd_btree_a_CFLAGS): New variable.
(btree_test_CPPFLAGS): Replace use $(COMMON_CPPFLAGS) with
$(CHECK_CPPFLAGS).
libhurd-ihash/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Remove variable.
(AM_CFLAGS): Likewise.
(libhurd_ihash_a_CPPFLAGS): New variable.
(libhurd_ihash_a_CFLAGS): Likewise.
(libhurd_ihash_nomalloc_a_CPPFLAGS): Replace use of $(AM_CPPFLAGS)
with $(USER_CPPFLAGS).
(libhurd_ihash_nomalloc_a_CFLAGS): New variable.
(t_ihash_CPPFLAGS): Remove use of $(AM_CPPFLAGS).
(t_ihash64_CPPFLAGS): Likewise.
(t_ihash_CFLAGS): New variable.
(t_ihash64_CFLAGS): Likewise.
* ihash.c: Don't include <hurd/ihash.h> but "ihash.h".
libhurd-mm/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(libhurd_mm_a_CPPFLAGS): Replace use of above with
$(USER_CPPFLAGS).
(libhurd_mm_a_CFLAGS): New variable.
libpthread/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Replace use of includes with
$(USER_CPPFLAGS).
(AM_CFLAGS): New variable.
newlib/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (patch_files): Add
05-newlib-newlib-libc-include-machine-setjmp-h.patch,
06-newlib-newlib-libc-machine-i386-i386mach-h.patch, and
07-newlib-newlib-libm-machine-i386-i386mach-h.patch.
(ccheaders): Remove variable.
(SYSINCLUDES): Likewise.
(newlib-build/libc.a newlib-build/libm.a): Set TARGET_CFLAGS to
"$(USER_CPPFLAGS) $(USER_CFLAGS) $(USER_LDFLAGS)".
* newlib/patches/05-newlib-newlib-libc-include-machine-setjmp-h.patch:
New file.
* newlib/patches/06-newlib-newlib-libc-machine-i386-i386mach-h.patch:
New file.
* newlib/patches/07-newlib-newlib-libm-machine-i386-i386mach-h.patch:
New file.
ruth/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(ruth_CPPFLAGS): Set to $(USER_CPPFLAGS).
(ruth_CFLAGS): New variable.
(ruth_LDFLAGS): Set to $(USER_LDFLAGS).
(ruth_LDADD): Set to $(USER_LDADD).
viengoos/
2008-02-21 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Remove variable.
(viengoos_CPPFLAGS): Set to $(KERNEL_CPPFLAGS).
(viengoos_CFLAGS): New variable.
(libhurd_cap_a_CPPFLAGS): Set to $(USER_CPPFLAGS).
(libhurd_cap_a_CFLAGS): New variable.
(t_as_CFLAGS): New variable.
(t_activity_CFLAGS): Likewise.
(t_link_CFLAGS): Likewise.
commit 285e9e265d96d9db2b666ba223e28ee213175cd5
Author: Neal H. Walfield <address@hidden>
Date: Sat Feb 16 15:12:05 2008 +0000
2008-02-16 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Add correct casts
to elide gcc warnings.
(__pthread_setup): Likewise.
commit 53d1f64bb06284e7d458df71bb52c6965bb2a016
Author: Neal H. Walfield <address@hidden>
Date: Wed Feb 13 14:33:26 2008 +0000
libhurd-mm/
2008-02-13 Neal H. Walfield <address@hidden>
* storage.h (storage_alloc): Take additional parameter policy.
Update callers.
* storage.c (storage_alloc): Take additional parameter policy.
Use it when allocating the object and updating the shadow
capability slots.
libpthread/
2008-02-13 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
Update use of storage_alloc to be consistent with new API.
newlib/
2008-02-13 Neal H. Walfield <address@hidden>
* addon/newlib/libc/sys/hurd/getreent.c (slab_alloc): Update use
of storage_alloc to be consistent with new API.
ruth/
2008-02-13 Neal H. Walfield <address@hidden>
* ruth.c (main): Update use of storage_alloc to be consistent with
new API.
commit 0c44c267ed37d9bb1c3c1343e1e651e90ef23e7b
Author: Neal H. Walfield <address@hidden>
Date: Wed Feb 13 10:38:57 2008 +0000
libpthread/
2008-02-13 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-sysdep.c (_pthread_init_routine): Change
function signature to take a function pointer and an argument and
to not return.
(init_routine): Likewise. Pass entry and argument to
__pthread_create_internal. Instead of returning, jump to the
program counter and switch stacks.
libc-parts/
2008-02-13 Neal H. Walfield <address@hidden>
* ia32-cmain.c (cmain): Update user of _pthread_init_routine to
reflect API change.
commit 0e7c0da6e02f122ece6ea3af9fbd5352eaaee15d
Author: Neal H. Walfield <address@hidden>
Date: Mon Feb 11 17:19:59 2008 +0000
2008-02-11 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/ia32/pt-setup.c (_pthread_entry_point): New
assembly function.
(stack_setup): Take additional argument entry_point. Push it on
the stack.
(__pthread_setup): Set thread->mcontext.pc to
&_pthread_entry_point. Pass ENTRY_POINT to stack_setup.
commit 79abfdbc8a51615e3c820387c935d3fe8546ea7d
Author: Neal H. Walfield <address@hidden>
Date: Fri Feb 8 10:01:41 2008 +0000
libhurd-ihash/
2008-02-08 Neal H. Walfield <address@hidden>
* ihash.h: Include <bits/wordsize.h>.
(hurd_ihash_key64_t): New definition.
(struct _hurd_ihash_item64): New structure.
(struct hurd_ihash): Change items's type void *.
[__WORDSIZE == 32]: Add field large.
(_HURD_IHASH_LARGE): New macro.
(HURD_IHASH_INITIALIZER): Take additional argument large. Use it.
(hurd_ihash_init): Take additional argument large.
(hurd_ihash_buffer_size): Likewise.
(hurd_ihash_init_with_buffer): Likewise.
(hurd_ihash_create): Likewise.
(hurd_ihash_replace): Change key's type to hurd_ihash_key64_t.
(hurd_ihash_add): Likewise.
(hurd_ihash_find): Likewise.
(hurd_ihash_remove): Likewise.
(HURD_IHASH_ITERATE): Rewrite to properly handle both 32- and
64-bit keys.
* ihash.c (ITEM): New macro.
(VALUE): Likewise.
(KEY): Likewise.
(ITEM_SIZE): Likewise.
(index_empty): Use the above macros rather than accessing
HT->ITEMS directly.
(index_valid): Likewise and change key's type to a
hurd_ihash_key64_t.
(find_index): Likewise.
(replace_one): Likewise.
(hurd_ihash_replace): Likewise.
(hurd_ihash_find): Likewise.
(hurd_ihash_remove): Likewise.
(hurd_ihash_init_internal): Take additional argument large. Use
it.
(hurd_ihash_init): Likewise.
(hurd_ihash_init_with_buffer): Likewise.
(hurd_ihash_create): Likewise.
(hurd_ihash_buffer_size): Likewise.
* t-ihash.c: Include <assert.h>.
(main): Expect that TEST_LARGE is defined. Use it when calling
hurd_ihash_init. If true, add some tests with 64-bit keys.
* Makefile.am (TESTS): Add t-ihash64.
(check_PROGRAMS): Likewise.
(t_ihash_CPPFLAGS): Add -DTEST_LARGE=false.
(t_ihash64_SOURCES): New variable.
(t_ihash64_CPPFLAGS): Likewise.
viengoos/
2008-02-08 Neal H. Walfield <address@hidden>
* thread.c (thread_init): Update use of
hurd_ihash_init_with_buffer to be consistent with new API.
* object.c (object_init): Likewise.
libpthread/
2008-02-08 Neal H. Walfield <address@hidden>
* sysdeps/hurd/pt-setspecific.c (pthread_setspecific): Update use
of hurd_ihash_create to be consistent with API changes.
commit b8eff95e439ec9f12dc748882e3769a080722475
Author: Neal H. Walfield <address@hidden>
Date: Wed Jan 23 14:06:03 2008 +0000
libpthread/
2008-01-23 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
libhurd-slab/
2008-01-23 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
libhurd-mm/
2008-01-23 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Add -I$(LIBC)/include.
libhurd-ihash/
2008-01-23 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
ruth/
2008-01-23 Neal H. Walfield <address@hidden>
* Makefile.am (COMMON_CPPFLAGS): Add -I$(LIBC)/include.
(ruth_SOURCES): Remove malloc-wrap.c, output.h and output.c.
(ruth_LDADD): Set to $(top_builddir)/libc.a.
* panic.c: Don't include "output.h". Include <stdio.h>.
* ruth.h: Likewise.
* ruth.c (getpagesize): Return a size_t, not an int.
commit 57e1f67e3757c66023abf912c302bb2a328eaebb
Author: Neal H. Walfield <address@hidden>
Date: Thu Jan 17 01:12:44 2008 +0000
2008-01-17 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-block.c: New file.
* sysdeps/l4/hurd/pt-wakeup.c: Likewise.
commit 00905beb9fabe556ae905b5eaa14e8c76dff7d79
Author: Neal H. Walfield <address@hidden>
Date: Tue Jan 1 17:42:41 2008 +0000
2008-01-01 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-mutex-timedlock.c
(__pthread_mutex_timedlock_internal): Add additional asserts.
[! NDEBUG]: Keep MUTEX->OWNER up to date.
* sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
Add additional asserts.
[! NDEBUG]: Keep MUTEX->OWNER up to date.
* sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock): Add
additional asserts.
[! NDEBUG]: Keep MUTEX->OWNER up to date.
commit 580da795e84996d81b3db9ef1878d8569a4b9530
Author: Neal H. Walfield <address@hidden>
Date: Sun Dec 23 14:39:42 2007 +0000
2007-12-23 Neal H. Walfield <address@hidden>
* Makefile.am (AM_CPPFLAGS): Add "-std=gnu99 -Wall -g -O3".
* sysdeps/l4/pt-block.c (__pthread_block): Remove unused variable
err.
* pthread/pt-join.c (pthread_join): Cast argument to
pthread_cleanup_push to avoid warning.
commit b8a2f5eb1724f9025cb4e34b7dd42351bb4f2cef
Author: Neal H. Walfield <address@hidden>
Date: Wed Dec 12 23:32:52 2007 +0000
hurd/
2007-12-13 Neal H. Walfield <address@hidden>
* exceptions.h (exception_page_cleanup): New declaration.
libhurd-mm/
2007-12-13 Neal H. Walfield <address@hidden>
* exceptions.c (exception_frame_alloc): When allocating the first
frame, set EXCEPTION_PAGE->EXCEPTION_STACK_BOTTOM.
(exception_page_cleanup): New function.
* ia32-exception-entry.S (_exception_handler_end): Correctly
adjust the exception page's exception stack.
libpthread/
2007-12-13 Neal H. Walfield <address@hidden>
* sysdeps/l4/hurd/pt-thread-halt.c: Include <hurd/exceptions.h>.
(__pthread_thread_halt): Call exception_page_cleanup.
commit d103b8568a4bcbf380d36b5fb86bef8ea475a682
Author: Neal H. Walfield <address@hidden>
Date: Wed Dec 12 16:33:49 2007 +0000
2007-12-12 Neal H. Walfield <address@hidden>
* sysdeps/l4/pt-block.c (__pthread_block): Clear the acceptor.
Improve debugging output.
* sysdeps/l4/pt-wakeup.c (__pthread_wakeup): Load an empty message.
Improve debugging output.
commit ac69c45a3eba1973f5682e0c4a11404e00f5485b
Author: Neal H. Walfield <address@hidden>
Date: Wed Dec 12 16:33:37 2007 +0000
2007-12-12 Neal H. Walfield <address@hidden>
* sysdeps/l4/pt-block.c (__pthread_block): Clear the acceptor.
Improve debugging output.
* sysdeps/l4/pt-wakeup.c (__pthread_wakeup): Load an empty message.
Improve debugging output.
commit c4ae63f6c8b068183bbbb9472ac28ba7cf304df1
Author: Neal H. Walfield <address@hidden>
Date: Tue Dec 4 18:12:22 2007 +0000
viengoos/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* thread.h (THREAD_SLOTS): Bump to 3.
(struct thread): Add field exception_page. Remove fields
have_exception and exception.
(thread_exregs): Take additional arguments exception_page and
exception_page_out. Update users.
(thread_raise_exception): New declaration.
* thread.c (THREAD_VERSION): Define.
(thread_init): Remove code related to the exception thread.
(thread_commission): Likewise.
(thread_decommission): Likewise.
(thread_exregs): Likewise. Take additional arguments
EXCEPTION_PAGE and EXCEPTION_PAGE_OUT. If CONTROL contains
HURD_EXREGS_GET_REGS and EXCEPTION_PAGE_OUT is not NULL, return a
capability to THREAD's exception page in *EXCEPTION_PAGE_OUT. If
CONTROL contains HURD_EXREGS_SET_EXCEPTION_PAGE, then set THREAD's
exception page to EXCEPTION_PAGE.
(thread_raise_exception): New function.
* server.c (server_loop): Remove code related to handling the
exception thread. Call thread_raise_exception to propagate
exception. Reimplement the exception_collect method. Update
implementation of the thread_exregs method to support the new
argument passing scheme. Add support for setting and retrieving
the exception page.
(REPLYW): Only clear MSG here.
* rm.h (exception_collect): Take an additional argument, the
principal.
* object.h (object_type): New function.
hurd/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* thread.h: Include <l4/ipc.h>.
(struct exception_page): New structure.
(THREAD_EXCEPTION_PAGE_SLOT): Define.
(HURD_EXREGS_EXCEPTION_THREAD): Don't define.
(HURD_EXREGS_SET_EXCEPTION_PAGE): Define.
(HURD_EXREGS_SET_REGS): Update.
(hurd_exception_handler_t): New definition.
(struct hurd_thread_exregs_in): New structure.
(struct hurd_thread_exregs_out): New structure.
(thread_exregs): Replace the bulk of the arguments with struct
hurd_thread_exregs_in and struct hurd_thread_exregs_out. Update
users.
* exceptions.h (HURD_THREAD_MAIN_VERSION): Remove macro.
(HURD_THREAD_EXCEPTION_VERSION): Likewise.
(hurd_thread_is_exception_thread): Remove function.
(hurd_thread_is_main_thread): Likewise.
(hurd_exception_thread): Likewise.
(hurd_main_thread): Likewise.
(exception_handler_loop): Remove declaration.
(exception_handler): New declaration.
(exception_handler_entry): Likewise.
(exception_handler_end): Likewise.
libhurd-mm/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* Makefile.am (ARCH_SOURCES): New variable.
[ARCH_IA32]: Add ia32-exception-entry.S.
(libhurd_mm_a_SOURCES): Add $(ARCH_SOURCES).
* ia32-exception-entry.S: New file.
* exceptions.c: Include <hurd/storage.h> and <hurd/thread.h>.
(ARG): Don't define.
(ARG64): Likewise.
(ARG_ADDR): Likewise.
(CHECK): Likewise.
(exception_handler_loop): Remove function.
(exception_fetch_exception): New function.
(exception_handler): New function.
(STACK_SIZE): Don't define.
(stack): Don't declare.
(exception_handler_init): Set up the thread's exception page.
libpthread/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Remove
fields exception_handler_stack and exception_handler_sp. Add
field exception_page.
* sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
Allocate a page for THREAD->EXCEPTION_PAGE, not
THREAD->EXCEPTION_HANDLER_STACK.
* sysdeps/l4/hurd/ia32/pt-setup.c: Include <hurd/thread.h> and
<hurd/exceptions.h>.
(__pthread_setup): Remove code dealing with the exception thread.
Set up the exception page.
* sysdeps/l4/hurd/pt-thread-start.c (__pthread_thread_start):
Remove code dealing with the exception thread. Update to use new
rm_thread_exregs interface. Also set the thread's exception page.
* sysdeps/l4/hurd/pt-thread-halt.c (__pthread_thread_halt): Remove
code to dealing with the exception thread. Free the
THREAD->EXCEPTION_PAGE.
ruth/
2007-12-04 Neal H. Walfield <address@hidden>
* ruth.c (main): Update to use new rm_thread_exregs interface.
commit e771f19810d1e1555f0921bc6185067fc12f6409
Author: Neal H. Walfield <address@hidden>
Date: Fri Nov 23 13:47:05 2007 +0000
2007-11-23 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_startup): Add declaration.
* pthread/pt-create.c (entry_point): Call __pthread_startup.
* sysdeps/l4/hurd/pt-sysdep.h: Include <hurd/storage.h> and
<sys/mman.h>.
(PTHREAD_SYSDEP_MEMBERS): Add fields object,
exception_handler_stack and exception_handler_sp.
(__attribute__): Call munmap.
* sysdeps/l4/hurd/ia32/pt-setup.c (__pthread_setup): Set up
thread->exception_handler_sp. Don't set the user define handle
here.
* sysdeps/l4/hurd/pt-startup.c: New file. Do it here.
* sysdeps/l4/hurd/pt-thread-alloc.c: New file.
* sysdeps/l4/hurd/pt-thread-halt.c: New file.
* sysdeps/l4/hurd/pt-thread-start.c: New file.
* Makefile.am (libpthread_a_SOURCES): Add pt-startup.c.
* sysdeps/l4/pt-block.c: Include <hurd/stddef.h>.
(__pthread_block): Detect IPC failure. Add debugging output.
* sysdeps/l4/pt-wakeup.c: Include <hurd/stddef.h>.
(__pthread_wakeup): Detect IPC failure. Add debugging output.
commit 71801fe4ab9e6e443327329ddf430d350d2d33e2
Author: Neal H. Walfield <address@hidden>
Date: Tue Nov 20 18:38:00 2007 +0000
2007-11-20 Neal H. Walfield <address@hidden>
* sysdeps/l4/pt-thread-dealloc.c: New file.
* Makefile.am (libpthread_a_SOURCES): Add pt-thread-dealloc.c.
* sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_STACK_DEFAULT): Change to
2MB.
* sysdeps/l4/hurd/pt-sysdep.c (sched_yield): New function.
(sigprocmask): Likewise.
(init_routine): Only call __pthread_initialize once. Update
comments.
commit 6bba5c5394e7bb7b11e3d28a456b38ae77021d52
Author: Neal H. Walfield <address@hidden>
Date: Tue Nov 20 17:39:57 2007 +0000
2007-11-20 Neal H. Walfield <address@hidden>
* Makefile.am (libpthread_a_SOURCES): Remove pt-create-np.c.
* sysdeps/l4/pt-create-np.c: Remove file.
* sysdeps/l4/pt-pool-np.c (pthread_pool_add_np): Change tid from
an _L4_thread_id_t to an l4_thread_id_t.
(pthread_pool_get_np): Return an l4_thread_id_t, not a
_L4_thread_id_t.
* sysdeps/l4/bits/pthread-np.h (pthread_create_from_l4_tid_np):
Remove declaration.
(pthread_pool_add_np): Change tid from an _L4_thread_id_t to an
l4_thread_id_t.
(pthread_pool_get_np): Return an l4_thread_id_t, not a
_L4_thread_id_t.
* sysdeps/l4/pt-docancel.c (__pthread_do_cancel): Implement for
the case that the target thread is not the executing thread.
* sysdeps/l4/pt-thread-alloc.c (__pthread_thread_alloc): Return
EAGAIN if pthread_pool_get_np does not return a thread. Update
comments.
* sysdeps/l4/pt-thread-start.c (__pthread_thread_start): Don't set
the thread's pager. Assert that if this is the first thread, then
THREAD->THREADID is designates the running thread.
* sysdeps/l4/pt-timedblock.c (__pthread_timedblock): Add warning
about incomplete implementation.
* Makefile.am (libpthread_a_SOURCES): Remove pt-thread-init.c.
* sysdeps/l4/pt-thread-init.c: Remove dead file.
* sysdeps/l4/pt-start.c: Remove dead file.
commit e16179334211cd7e2877197140b06b83e2f03733
Merge: 426e7e7edf67380ec5afc9791a9541b0f8e2c452
0697fd051821d7b44b3c9ab2face57438e1a764a
Author: Neal H. Walfield <address@hidden>
Date: Tue Nov 20 16:23:24 2007 +0000
2007-11-20 Neal H. Walfield <address@hidden>
Merge changes from mainline Hurd. Update L4 bits to compile with
those changes.
* sysdeps/l4/pt-block.c (__pthread_block): Call l4_receive, not
L4_Receive.
* sysdeps/l4/pt-create-np.c (pthread_create_from_l4_tid_np): Don't
pass TID to __pthread_create_internal. Emit a warning.
* sysdeps/l4/pt-stack-alloc.c (allocate_page): Remove function.
(__pthread_stack_alloc): Don't require that STACKSIZE is equal to
__pthread_stacksize. Call mmap.
* sysdeps/l4/pt-thread-halt.c (__pthread_thread_halt): Take
additional argument, need_dealloc. Call __pthread_dealloc. Stop
the thread.
* sysdeps/l4/hurd/pt-sysdep.c (init_routine): When calling
__pthread_create_internal, don't pass the tid.
* tests/test-1.c (main): Use pthread_mutex_init, not
PTHREAD_MUTEX_INITIALIZER.
* pthread/pt-alloc.c: Don't include <bits/atomic.h>. Include
<atomic.h>.
(__pthread_free_threads): Make it an atomicptr_t, not an
__atomicptr_t.
(__pthread_alloc): Don't use __atomicptr_compare_and_swap, use
atomic_compare_and_exchange_val_acq.
* pthread/pt-create.c: Don't include <bits/atomic.h>. Include
<atomic.h>.
(__pthread_total): Make it an atomic_fast32_t, not an __atomic_t.
(__pthread_create_internal): Use atomic_increment and
atomic_decrement, not __atomic_inc and __atomic_dec.
* pthread/pt-dealloc.c: Don't include <bits/atomic.h>. Include
<atomic.h>.
(__pthread_free_threads): Make it an atomicptr_t, not an
__atomicptr_t.
(__pthread_dealloc): Use atomic_compare_and_exchange_val_acq, not
__atomicptr_compare_and_swap.
* pthread/pt-exit.c: Don't include <bits/atomic.h>. Include
<atomic.h>.
(pthread_exit): Use atomic_decrement_and_test, not
__atomic_dec_and_test.
* pthread/pt-internal.h: Don't include <bits/atomic.h>. Include
<atomic.h>.
(__pthread_total): Make it an atomic_fast32_t, not an __atomic_t.
* sysdeps/powerpc/bits/atomic.h: Remove file.
* sysdeps/ia32/bits/atomic.h: Likewise.
commit 426e7e7edf67380ec5afc9791a9541b0f8e2c452
Author: Neal H. Walfield <address@hidden>
Date: Mon Aug 6 16:32:43 2007 +0000
2007-08-06 Neal H. Walfield <address@hidden>
* sysdeps/l4/bits/pthread-np.h (pthread_create_from_l4_tid_np):
Don't require the GNU interface: use _L4_thread_id_t, not
l4_thread_id_t.
(pthread_pool_add_np): Likewise.
(pthread_pool_get_np): Likewise.
* sysdeps/l4/pt-create-np.c (pthread_create_from_l4_tid_np): Likewise.
* sysdeps/l4/pt-pool-np.c (pool_list): Likewise.
(pthread_pool_add_np): Likewise.
(pthread_pool_get_np): Likewise.
commit 208f8d657fd3c8f6e2f5dfff0b0af68c6f099c49
Author: Neal H. Walfield <address@hidden>
Date: Tue Feb 8 16:17:13 2005 +0000
libpthread/
2005-02-08 Neal H. Walfield <address@hidden>
* sysdeps/posix/pt-spin.c (__pthread_spin_lock): Make a weak alias
to _pthread_spin_lock.
* sysdeps/l4/hurd/pt-sysdep.h (_pthread_self): Add
__always_inline__ attribute.
(__pthread_stack_dealloc): Likewise.
commit d7fecf68ed19432ad1d9f18f83af7d211b5e33d4
Author: Neal H. Walfield <address@hidden>
Date: Wed Jan 12 10:33:39 2005 +0000
libc-parts/
2005-01-12 Neal H. Walfield <address@hidden>
* assert.h: Include prototype for printf.
(assert) [!NDEBUG]: Rewrite to do something useful.
libhurd-cap-server/
2005-01-12 Neal H. Walfield <address@hidden>
* class-init.c (hurd_cap_class_init_untyped): Fix assert.
* bucket-manage-mt.c (manage_mt_worker): Likewise.
libpthread/
2005-01-12 Neal H. Walfield <address@hidden>
* sysdeps/l4/pt-thread-alloc.c: Replace assert with a compile time
warning.
* sysdeps/l4/hurd/pt-sigstate.c (__pthread_sigstate): Don't return
EINVAL. Pretend to work so the generic code is happy.
commit a2102d6a91d6e4522471da3bbc3d58473400bfe7
Author: Marcus Brinkmann <address@hidden>
Date: Tue Nov 2 03:52:19 2004 +0000
2004-11-02 Marcus Brinkmann <address@hidden>
* sysdeps/generic/bits/condition.h (__PTHREAD_COND_INITIALIZER):
Remove compound statement.
* pthread/pt-alloc.c (initialize_pthread): Use compound statement.
* sysdeps/generic/pt-cond-init.c (pthread_cond_init): Likewise.
commit 8765659aee80734a9d0a68a67c20c43a0d97eee4
Author: Marcus Brinkmann <address@hidden>
Date: Mon Nov 1 17:28:43 2004 +0000
2004-11-01 Marcus Brinkmann <address@hidden>
* pthread/pt-create.c (__pthread_total): Change type to uatomic32_t.
* pthread/pt-internal.h (__pthread_total): Likewise in declaration.
commit 347e1b07eb34cd37d37c3fd8f4a7e6645f3d0971
Author: Marcus Brinkmann <address@hidden>
Date: Mon Nov 1 17:04:00 2004 +0000
2004-11-01 Marcus Brinkmann <address@hidden>
* pthread/pt-internal.h: Include <atomic.h>, not <bits/atomic.h>.
(__pthread_total): Change type of declaration to uatomic_max_t.
* pthread/pt-alloc.c: Include <atomic.h>, not <bits/atomic.h>.
(__pthread_free_threads): Change type to uatomicptr_t.
(__pthread_alloc): Call atomic_compare_and_exchange_val_acq
instead of __atomicptr_compare_and_swap.
* pthread/pt-create.c: Include <atomic.h>, not <bits/atomic.h>.
(__pthread_total): Change type to uatomic_max_t.
(__pthread_create_internal): Call atomic_increment, not
__atomic_inc and atomic_decrement, not __atomic_dec.
* pthread/pt-dealloc.c: Include <atomic.h>, not <bits/atomic.h>.
(__pthread_free_threads): Declare as uatomicptr_t.
(__pthread_dealloc): Call atomic_compare_and_exchange_val_acq
instead of __atomicptr_compare_and_swap.
* pthread/pt-exit.c: Include <atomic.h>, not <bits/atomic.h>.
(pthread_exit): Call atomic_decrement_and_test instead of
__atomic_dec_and_test.
* sysdeps/l4/pt-create-np.c: Do not include <bits/atomic.h>.
commit ad7765721756963ab8bb345c93243e38a65417a3
Author: Marcus Brinkmann <address@hidden>
Date: Mon Nov 1 15:49:58 2004 +0000
Remove spurious file.
commit 6c1fa169dcb29badc14bb902bd529fc43cba1443
Author: Marcus Brinkmann <address@hidden>
Date: Fri Oct 29 01:00:59 2004 +0000
2004-10-29 Marcus Brinkmann <address@hidden>
* platform: New directory.
* configure.ac (AC_CONFIG_FILES): Add platform/alpha/Makefile,
platform/amd64/Makefile, platform/ia32/Makefile,
platform/ia64/Makefile, platform/powerpc/Makefile,
platform/powerpc64/Makefile and platform/Makefile.
* Makefile.am (SUBDIRS): Add platform.
libpthread/
2004-10-29 Marcus Brinkmann <address@hidden>
* headers.am (AC_CONFIG_LINKS): Remove include/bits/atomic.h.
platform/
2004-10-29 Marcus Brinkmann <address@hidden>
* Initial commit.
commit 45c83d6c491a8d7b9c1df0109c0183c1a08a0ef7
Author: Marcus Brinkmann <address@hidden>
Date: Tue Mar 23 03:43:49 2004 +0000
2004-03-23 Marcus Brinkmann <address@hidden>
* sysdeps/generic/bits/mutex.h (__PTHREAD_MUTEX_INITIALIZER):
Remove compound statement.
(pthread_mutex_init): Use compound statement with initializer.
* pthread/pt-alloc.c (initialize_pthread): Likewise.
* sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): Likewise.
commit 96e2b4283a91629905e799a719a9c1f7f8f6e6a8
Author: Marcus Brinkmann <address@hidden>
Date: Fri Mar 19 04:26:42 2004 +0000
Fix last change.
commit 4a6de6dc5632fd08588983a4f5bf6ac79d991deb
Author: Marcus Brinkmann <address@hidden>
Date: Fri Mar 19 04:18:42 2004 +0000
2004-03-19 Marcus Brinkmann <address@hidden>
* sysdeps/l4/bits/pthread-np.h (pthread_pool_add_np,
pthread_pool_get_np): New prototypes.
* sysdeps/l4/pt-pool-np.c: New file.
* Makefile.am (libpthread_a_SOURCES): Add pt-pool-np.c.
* sysdeps/l4/pt-thread-alloc.c (__pthread_thread_alloc): Try to
allocate thread from pool.
* sysdeps/l4/pt-thread-halt.c (__pthread_thread_halt): Add thread
to pool after stopping it.
commit 7e9f8f474cc8d44818a476818f19571e2f54a3d0
Author: Marcus Brinkmann <address@hidden>
Date: Thu Mar 18 02:58:51 2004 +0000
Fix copyright year.
commit 5a64504f79c446e31e43d7a48866326d91b33e8d
Author: Marcus Brinkmann <address@hidden>
Date: Thu Mar 18 02:54:43 2004 +0000
2004-03-17 Marcus Brinkmann <address@hidden>
* sysdeps/l4/pt-thread-start.c (__pthread_thread_start): Use L4
convenience interface.
commit af019b5030106663bb4afcefdca9a304ea063f31
Author: Marcus Brinkmann <address@hidden>
Date: Thu Mar 18 02:53:15 2004 +0000
2004-03-17 Marcus Brinkmann <address@hidden>
* sysdeps/l4/pt-spin.c (_pthread_spin_lock): Implement using new
time period interface.
commit ef01119ea9239c3e91c33dc3b51bb059eb621677
Author: Marcus Brinkmann <address@hidden>
Date: Thu Mar 18 02:44:20 2004 +0000
2004-03-17 Marcus Brinkmann <address@hidden>
* libpthread: New directory, populated with Neal H. Walfields
pthread implementation.
commit 0236089d351775cf41a9a951621b7c083488ec20
Author: Neal H. Walfield <address@hidden>
Date: Tue Aug 12 07:10:31 2008 +0000
2008-08-12 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock):
Remove dead code.
commit c5441c2e019718a374461106af2b59809cfbdb0e
Author: Neal H. Walfield <address@hidden>
Date: Mon Aug 11 19:30:30 2008 +0000
2008-08-11 Neal H. Walfield <address@hidden>
* sysdeps/l4/pt-docancel.c: Remove file.
* sysdeps/l4/pt-thread-alloc.c: Likewise.
* sysdeps/l4/pt-wakeup.c: Likewise.
* sysdeps/l4/pt-thread-halt.c: Likewise.
* sysdeps/l4/pt-start.c: Likewise.
* sysdeps/l4/pt-stack-alloc.c: Likewise.
* sysdeps/l4/pt-thread-start.c: Likewise.
* sysdeps/l4/pt-block.c: Likewise.
* sysdeps/l4/hurd/pt-sysdep.h: Likewise.
* sysdeps/l4/hurd/pt-sysdep.c: Likewise.
* sysdeps/l4/hurd/i386/pt-setup.c: Likewise.
* sysdeps/l4/hurd/i386/pt-machdep.c: Likewise.
commit 24d20469316b5a79ee1ec19da9e34384f8496c31
Author: Samuel Thibault <address@hidden>
Date: Mon Aug 4 12:07:38 2008 +0000
2008-08-04 Samuel Thibault <address@hidden>
* include/pthread/pthreadtypes.h (__pthread_inheritsched): Remove
comma at end of enumeration.
commit 334b9a33a8adcddaf144e8285367c6753b7ab7ec
Author: Samuel Thibault <address@hidden>
Date: Sun Aug 3 18:56:49 2008 +0000
* Makefile (sysdeps_headers): Add spin-lock-inline.h.
(SYSDEP_PATH): Move sysdeps/i386 right after
sysdeps/$(MICROKERNEL)/i386.
* include/pthread/pthread.h: Include <bits/spin-lock-inline.h>.
* sysdeps/i386/bits/spin-lock.h: Move inlines to...
* sysdeps/i386/bits/spin-lock-inline.h: ... new file.
* sysdeps/mach/bits/spin-lock.h: Move inlines to...
* sysdeps/mach/bits/spin-lock-inline.h: ... new file.
commit 3bcc540d4c6c59dbfa5958d1b59942f8b610bf5e
Author: Thomas Schwinge <address@hidden>
Date: Sun Aug 3 07:02:36 2008 +0000
Update copyright year.
commit 26ce9018aa473f5282b70d057f6b6de6d1cdca99
Author: Samuel Thibault <address@hidden>
Date: Sun Aug 3 00:13:13 2008 +0000
* sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Fix cast from
thread to integer. Fix reservation of stack room for initial frame.
* sysdeps/l4/hurd/i386/pt-setup.c (stack_setup): Fix reservation of
stack room for initial frame.
commit fc1964a7d295bec777d14b0f96692528bdb79437
Author: Samuel Thibault <address@hidden>
Date: Sat Aug 2 20:40:14 2008 +0000
2008-08-02 Samuel Thibault <address@hidden>
[libpthread]
* sysdeps/i386/bits/memory.h (__memory_barrier): Add memory clobber.
* sysdeps/i386/bits/spin-lock.h (__pthread_spin_trylock,
__pthread_spin_unlock): Add memory clobbers.
[libthreads]
* i386/cthreads.h (spin_unlock, spin_try_lock): Add memory clobbers.
commit ef8de977fc0e72ee149085e5b4b9df23b7660fbe
Author: Samuel Thibault <address@hidden>
Date: Sat Aug 2 20:21:20 2008 +0000
2008-08-02 Samuel Thibault <address@hidden>
* sysdeps/generic/bits/mutex.h: Do not include <errno.h> and
<stddef.h>
commit 1cd0f1301f9925420b04a4685b2934981fdc0240
Author: Samuel Thibault <address@hidden>
Date: Fri Jul 18 14:31:06 2008 +0000
2008-07-18 Samuel Thibault <address@hidden>
* Makefile (sysdeps_headers): add pthread/pthreadtypes.h
commit ec4b0f2734e9c4f43466019bb0cfe800efc651a9
Author: Thomas Schwinge <address@hidden>
Date: Tue Jul 1 11:43:18 2008 +0000
Update copyright years.
commit 0b12db015b87b2ee6f73ed9d6239bd7254ed09c5
Author: Thomas Schwinge <address@hidden>
Date: Tue Jul 1 08:59:07 2008 +0000
Correct ChangeLog file.
commit c38729c662cba11dca78e03dca23cec3eaec9f92
Author: Samuel Thibault <address@hidden>
Date: Sun Jun 29 02:43:00 2008 +0000
2008-06-29 Samuel Thibault <address@hidden>
* sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock):
Do not use assertx and threadid.
commit caacc548f4bfa2f6b86ae761bffba8d49f823e24
Author: Samuel Thibault <address@hidden>
Date: Sat Jun 28 00:06:52 2008 +0000
2008-06-27 Samuel Thibault <address@hidden>
* include/pthread/pthread.h: Do not define __need_clockid_t, include
<time.h>, and define clockid_t if __clockid_defined is not defined.
Include <pthread/pthreadtypes.h>
(pthread_equal): New extern inline.
(pthread_cleanup_push, pthread_cleanup_pop): New macros.
(__pthread_process_shared, __pthread_inheritsched,
__pthread_contentionscope, __pthread_detachstate,
__pthread_mutex_protocol, __pthread_mutex_type,
pthread_attr_t, pthread_mutex_attr_t, pthread_mutex_t,
pthread_condattr_t, pthread_cond_t, pthread_spinlock_t,
pthread_rwlockattr_t, pthread_rwlock_t, pthread_barrierattr_t,
pthread_barrier_t, pthread_key_t, pthread_once_t): Move enums and
typedefs to...
* include/pthread/pthreadtypes.h: ... new file.
* sysdeps/generic/bits/cancelation.h (pthread_cleanup_push): Rename
macro to __pthread_cleanup_push.
(pthread_cleanup_pop): Rename macro to __pthread_cleanup_pop.
* sysdeps/generic/bits/barrier-attr.h (__pthread_process_shared):
Forward-declare enum.
* sysdeps/generic/bits/condition-attr.h (__pthread_process_shared):
Likewise.
* sysdeps/generic/bits/mutex-attr.h (__pthread_mutex_protocol,
__pthread_process_shared, __pthread_mutex_type):
Likewise.
* sysdeps/generic/bits/rwlock-attr.h (__pthread_process_shared):
Likewise.
* sysdeps/generic/bits/thread-attr.h (__pthread_detachstate,
__pthread_inheritsched, __pthread_contentionscope):
Likewise.
* sysdeps/generic/bits/pthread.h (pthread_t): Rename type to
__pthread_t.
(pthread_equal): Rename to __pthread_equal.
commit 2b4c17c482b95c079bdd7149a1326601f41dc03e
Author: Samuel Thibault <address@hidden>
Date: Fri Jun 27 22:35:16 2008 +0000
2008-06-27 Samuel Thibault <address@hidden>
* sysdeps/generic/bits/thread-barrier.h: Remove unused file.
commit 362912127aa75b78d4f42493ee1783bab9135cd1
Author: Neal H. Walfield <address@hidden>
Date: Sun Jun 22 09:05:31 2008 +0000
2008-06-22 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-mutex-timedlock.c
(__pthread_mutex_timedlock_internal) [! NDEBUG]: Set MUTEX->OWNER
appropriately and assert that it is consistent.
* sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock) [!
NDEBUG]: Set MUTEX->OWNER appropriately and assert that it is
consistent.
* sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock) [!
NDEBUG]: Set MUTEX->OWNER.
commit 9830b3b2eb53aa7ad2eeb4cc11fbb44ba323cf4e
Author: Neal H. Walfield <address@hidden>
Date: Sat Jun 7 15:23:00 2008 +0000
2008-06-07 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_queue_iterate): Use 1, not
true.
(__pthread_dequeuing_iterate): Likewise.
commit 542a455d6c2da2eac68f9c4f45604af85008443a
Author: Neal H. Walfield <address@hidden>
Date: Tue May 27 18:37:56 2008 +0000
2008-05-27 Neal H. Walfield <address@hidden>
* pthread/pt-internal.h (__pthread_queue_iterate): Before
returning the current element, save its next pointer.
(__pthread_dequeuing_iterate): Likewise.
commit e4ce4d3aa636b753da0b941e41128018aca6ade3
Author: Neal H. Walfield <address@hidden>
Date: Tue May 27 18:37:29 2008 +0000
2008-05-27 Neal H. Walfield <address@hidden>
* sysdeps/mach/hurd/pt-docancel.c (__pthread_do_cancel): Fix
assert.
commit 7c6708ed26c318abbf7ca8bacc2eea50c9dcb459
Author: Samuel Thibault <address@hidden>
Date: Sat May 17 20:07:56 2008 +0000
2008-05-17 Samuel Thibault <address@hidden>
* include/pthread/pthread.h (pthread_getattr_np): New declaration.
* pthread/pt-getattr.c: New file.
* Makefile (SRCS): Add pt-getattr.c.
commit bff1b2efeae74afed68b5521d46395b0e29681e3
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 16:44:17 2008 +0000
* include/libc-symbols.h (HAVE_ASM_PREVIOUS_DIRECTIVE): Define.
commit afd495357942d9cd5aaee27b1185cf9a4d4f81fe
Author: Samuel Thibault <address@hidden>
Date: Fri Feb 29 09:53:35 2008 +0000
2008-02-29 Samuel Thibault <address@hidden
* sysdeps/l4/hurd/i386/pt-setup.c (stack_setup): Align stack on 0x10
for MMX operations.
* sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Likewise.
commit a831c87b798b78c22ef496de6ddb2e6e447aabad
Author: Samuel Thibault <address@hidden>
Date: Tue Jan 1 04:07:14 2008 +0000
2008-01-01 Samuel Thibault <address@hidden
* include/pthread/pthread.h (pthread_spin_destroy, pthread_spin_init,
pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Use
__extern_inline macro instead of extern __inline.
* sysdeps/i386/bits/spin-lock.h (__PT_SPIN_INLINE,
__pthread_spin_lock): Likewise
* sysdeps/mach/bits/spin-lock.h (__PT_SPIN_INLINE,
__pthread_spin_lock): Likewise
* sysdeps/generic/bits/pthread.h (pthread_equal): Declare ; only
provide inline when __USE_EXTERN_INLINES is defined. Use __extern_inline
macro instead of extern __inline.
* sysdeps/i386/bits/memory.h (__memory_barrier): Add static to inline.
commit 0697fd051821d7b44b3c9ab2face57438e1a764a
Author: Thomas Schwinge <address@hidden>
Date: Mon Nov 19 17:37:02 2007 +0000
2007-11-19 Thomas Schwinge <address@hidden>
* Makefile (CFLAGS): Don't set and instead...
(CPPFLAGS): ... append the inclusion stuff to these.
commit b180c6076f787d1b7241153dc1a42f37262dd827
Author: Samuel Thibault <address@hidden>
Date: Thu Aug 2 22:51:14 2007 +0000
2007-08-02 Samuel Thibault <address@hidden>
* sysdeps/generic/bits/mutex.h (pthread_mutex_init)
(pthread_mutex_destroy, __pthread_mutex_lock, __pthread_mutex_trylock)
(pthread_mutex_lock, pthread_mutex_trylock): Remove inline
definitions.
* sysdeps/generic/bits/rwlock.h (pthread_rwlock_init)
(pthread_rwlock_destroy): Likewise.
commit 0b48c1e5d1764b5970faa0abeb101f377c3f441c
Author: Samuel Thibault <address@hidden>
Date: Sun Jun 24 15:11:52 2007 +0000
2007-06-24 Samuel Thibault <address@hidden>
* include/semaphore.h (sem_timedwait): Declare only if __USE_XOPEN2K
is defined.
* include/pthread/pthread.h (pthread_attr_getstack)
(pthread_attr_setstack, pthread_mutex_timedlock)
(pthread_condattr_getclock, pthread_condattr_setclock)
(pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock)
(pthread_barrierattr_t, pthread_barrierattr_init)
(pthread_barrierattr_destroy, pthread_barrierattr_getpshared)
(pthread_barrierattr_setpshared, pthread_barrier_t)
(PTHREAD_BARRIER_SERIAL_THREAD, pthread_barrier_init)
(pthread_barrier_destroy, pthread_barrier_wait)
(pthread_getcpuclockid): Declare only if __USE_XOPEN2K is defined.
(pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling)
(pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol)
(pthread_mutexattr_gettype, pthread_mutexattr_settype)
(pthread_mutex_getprioceiling, pthread_mutex_setprioceiling)
(pthread_setconcurrency, pthread_getconcurrency): Declare only if
__USE_UNIX98 is defined.
(pthread_rwlockattr_t, pthread_rwlockattr_init)
(pthread_rwlockattr_destroy, pthread_rwlockattr_getpshared)
(pthread_rwlockattr_setpshared, pthread_rwlock_t, pthread_rwlock_init)
(pthread_rwlock_destroy, pthread_rwlock_rdlock)
(pthread_rwlock_tryrdlock, pthread_rwlock_wrlock)
(pthread_rwlock_trywrlock, pthread_rwlock_unlock): Declare only if
__USE_UNIX98 or __USE_XOPEN2K are defined.
(PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT)
(PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK)
(PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_DEFAULT):
Define only if __USE_UNIX98 is defined.
(PTHREAD_MUTEX_FAST_NP): Define for compatibility when __USE_GNU is
defined.
* sysdeps/generic/bits/rwlock.h (pthread_rwlock_init)
(pthread_rwlock_destroy): Declare only if __USE_UNIX98 or
__USE_XOPEN2K are defined.
* TODO: Drop that TODO item.
commit b46bf7d8865dc55842a68f30f64ac064daf87441
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 4 23:27:29 2007 +0000
wrong ChangeLog file, sorry
commit 0924954a436fe55698686e4c750e777fb058ad25
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 4 00:05:21 2007 +0000
2006-03-04 Samuel Thibault <address@hidden>
* libpthread/include/pthread/pthread.h: Add the restrict keyword where
appropriate for full compliance.
* libpthread/pthread/pt-internal.h: Likewise.
* libpthread/sysdeps/generic/bits/mutex.h: Likewise.
* libpthread/sysdeps/generic/bits/rwlock.h: Likewise.
* libpthread/TODO: Drop that TODO item.
commit 47f99033b358fb41d7c9f8f2b2f8aa221cbcc387
Author: Samuel Thibault <address@hidden>
Date: Sat Mar 3 23:57:37 2007 +0000
2006-03-04 Samuel Thibault <address@hidden>
* libpthread/sysdeps/i386/machine-sp.h (thread_stack_pointer):
Optimize esp read.
* libpthread/i386/cthreads.h (cthread_sp): Likewise.
commit c9f6661d48de1d24a21093f70031bc9a055a6a33
Author: Samuel Thibault <address@hidden>
Date: Sat Jan 20 13:07:06 2007 +0000
2006-01-20 Samuel Thibault <address@hidden>
Do not let other libraries (like libX11) override libpthread's
pthread_mutex_*, pthread_rwlock_* and sem_* dynamic symbols.
* libpthread/sysdeps/generic/pt-mutex-destroy.c
(pthread_mutex_destroy): Make the alias strong.
* libpthread/sysdeps/generic/pt-mutex-init.c
(pthread_mutex_init): Likewise.
* libpthread/sysdeps/generic/pt-mutex-lock.c
(_pthread_mutex_lock, pthread_mutex_lock): Likewise.
* libpthread/sysdeps/generic/pt-mutex-trylock.c
(_pthread_mutex_trylock, pthread_mutex_trylock): Likewise.
* libpthread/sysdeps/generic/pt-mutex-unlock.c
(_pthread_mutex_lock, pthread_mutex_unlock): Likewise.
* libpthread/sysdeps/generic/pt-rwlock-destroy.c
(pthread_rwlock_destroy): Likewise.
* libpthread/sysdeps/generic/pt-rwlock-init.c
(pthread_rwlock_init): Likewise.
* libpthread/sysdeps/generic/sem-destroy.c (sem_destroy): Likewise.
* libpthread/sysdeps/generic/sem-getvalue.c (sem_getvalue): Likewise.
* libpthread/sysdeps/generic/sem-init.c (sem_init): Likewise.
* libpthread/sysdeps/generic/sem-open.c (sem_open): Likewise.
* libpthread/sysdeps/generic/sem-post.c (sem_post): Likewise.
* libpthread/sysdeps/generic/sem-timedwait.c (sem_timedwait): Likewise.
* libpthread/sysdeps/generic/sem-trywait.c (sem_trywait): Likewise.
* libpthread/sysdeps/generic/sem-unlink.c (sem_unlink): Likewise.
* libpthread/sysdeps/generic/sem-wait.c (sem_wait): Likewise.
commit e3f5b14acf07c8162d1777ca630aeece561ef485
Author: Thomas Schwinge <address@hidden>
Date: Mon Mar 27 19:57:54 2006 +0000
2006-03-27 Thomas Schwinge <address@hidden>
* Makefile (SRCS): Don't define two times and only list `pt-attr.c'
once. Reported by Jeff Bailey <address@hidden>.
commit 5bff6e8f998477a4528510e92fbcf33783c70506
Author: Neal H. Walfield <address@hidden>
Date: Sun Aug 28 12:43:55 2005 +0000
2005-08-28 Neal H. Walfield <address@hidden>
* include/semaphore.h: Use __restrict, not restrict.
commit 8e18e678afebb38e4208680ae7d7d23172116b41
Author: Neal H. Walfield <address@hidden>
Date: Tue May 31 17:34:36 2005 +0000
libpthread/
2005-05-31 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h: If clockid_t is still not defined
after including <time.h>, define it manually.
commit ad327ba4bdcccdfaccde64ba4852220ec99d7b79
Author: Neal H. Walfield <address@hidden>
Date: Tue May 17 09:40:51 2005 +0000
libpthread/
2005-05-17 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h: Define __need_clockid_t before
including <time.h>.
commit a2c46ac956613c162b5162d2ef2c725229b08aca
Author: Neal H. Walfield <address@hidden>
Date: Thu May 12 20:55:38 2005 +0000
libpthread/
2005-05-12 Neal H. Walfield <address@hidden>
* include/pthread/pthread.h (pthread_exit): Add noreturn
attribute.
* sysdeps/generic/bits/condition.h (__PTHREAD_COND_INITIALIZER):
Don't create a compound literal.
* sysdeps/generic/bits/mutex.h (__PTHREAD_MUTEX_INITIALIZER):
Don't create a compound literal.
(pthread_mutex_init): Don't assign to *__MUTEX directly.
Initialize an intermediate local variable and then copy the
result.
* sysdeps/generic/bits/rwlock.h (__PTHREAD_RWLOCK_INITIALIZER):
Don't create a compound literal.
(pthread_rwlock_init): Don't assign to *__RWLOCK directly.
Initialize an intermediate local variable and then copy the
result.
* sysdeps/i386/bits/spin-lock.h (__SPIN_LOCK_INITIALIZER):
Don't create a compound literal.
* pthread/pt-alloc.c (initialize_pthread): Cast
PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER to create a
compound literal.
* tests/test-1.c (main): Use pthread_mutex_init, not
PTHREAD_MUTEX_INIT for mutex initialization
* sysdeps/generic/pt-barrier-init.c (pthread_barrier_init): Remove
assert. Copy ATTR if non-defaults are used.
* sysdeps/generic/pt-cond-init.c (pthread_cond_init): Include
<string.h>. Remove assert. Copy ATTR if non-defaults are used.
* sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): Cast
PTHREAD_MUTEX_INITIALIZER to create a compound literal.
* sysdeps/generic/pt-rwlock-init.c: Include <string.h>.
(_pthread_rwlock_init): Cast __PTHREAD_RWLOCK_INITIALIZER to
create a compound literal. Copy ATTR if non-defaults are used.
* sysdeps/generic/pt-cond-timedwait.c
(__pthread_cond_timedwait_internal): Check that ABSTIME->TV_NSEC
is valid. Don't shadow ERR. Don't return before cleaning up.
* sysdeps/generic/pt-mutex-timedlock.c (pthread_mutex_timedlock):
Move after __pthread_mutex_timedlock_internal. Check that
ABSTIME->TV_NSEC is valid.
* sysdeps/generic/pt-rwlock-timedrdlock.c
(pthread_rwlock_timedrdlock): Move after.
__pthread_rwlock_timedrdlock_internal.
(__pthread_rwlock_timedrdlock_internal): Check that
ABSTIME->TV_NSEC is valid.
* sysdeps/generic/pt-rwlock-timedwrlock.c
(pthread_rwlock_timedwrlock): Move after
__pthread_rwlock_timedwrlock_internal.
(__pthread_rwlock_timedwrlock_internal): Check that
ABSTIME->TV_NSEC is valid.
* sysdeps/generic/sem-timedwait.c (__sem_timedwait_internal):
Check that TIMEOUT->TV_NSEC is valid before enqueuing the thread.
* sysdeps/generic/pt-rwlock-rdlock.c
(__pthread_rwlock_timedrdlock_internal): Fix declaration.
* sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
Don't return EDEADLK. POSIX does not allow it.
* sysdeps/mach/pt-timedblock.c (__pthread_timedblock): Calculate
the relative timeout without overflowing.
* sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Cast THREAD.
commit a6dffc4afcfb78fbb043971ecffdf5a2cfa60989
Author: Neal H. Walfield <address@hidden>
Date: Thu May 12 11:50:42 2005 +0000
libpthread/
2005-05-12 Neal H. Walfield <address@hidden>
* Makefile (SRCS): Add sem-close.c sem-destroy.c sem-getvalue.c
sem-init.c sem-open.c sem-post.c sem-timedwait.c sem-trywait.c
sem-unlink.c and sem-wait.c.
(sysdeps_headers): Add semaphore.h bits/semaphore.h.
* include/semaphore.h: New file.
* sysdeps/generic/sem-close.c: New file.
* sysdeps/generic/sem-destroy.c: New file.
* sysdeps/generic/sem-getvalue.c: New file.
* sysdeps/generic/sem-init.c: New file.
* sysdeps/generic/sem-open.c: New file.
* sysdeps/generic/sem-post.c: New file.
* sysdeps/generic/sem-timedwait.c: New file.
* sysdeps/generic/sem-trywait.c: New file.
* sysdeps/generic/sem-unlink.c: New file.
* sysdeps/generic/sem-wait.c: New file.
* sysdeps/generic/bits/semaphore.h: New file.
commit f19e83eb2a17d0e87b90a050e7550e1e6985196f
Author: Neal H. Walfield <address@hidden>
Date: Wed May 4 16:04:06 2005 +0000
libpthread/
2005-05-04 Neal H. Walfield <address@hidden>
* Makefile (SRCS): Add pt-thread_dealloc.c.
* sysdeps/mach/pt-thread-dealloc.c: New file.
* pthread/pt-internal.h (__pthread_thread_dealloc): New
declaration.
(__pthread_thread_halt): Add parameter NEED_DEALLOC. Update
callers.
* sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): Respect
new NEED_DEALLOC parameter. Move code which deallocates kernel
resources from here ...
* sysdeps/mach/pt-thread-dealloc.c (__pthread_thread_dealloc):
...to here.
* pthread/pt-create.c (__pthread_create_internal): Call
__pthread_thread_dealloc on failure.
* pthread/pt-exit.c (pthread_exit): Call __pthread_thread_dealloc.
* sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call
__mach_port_destroy to deallocate the receive right.
__mach_port_deallocate won't do it.
* pthread/pt-detach.c (pthread_detach): Don't call
__pthread_thread_halt a second time.
* sysdeps/mach/hurd/pt-sysdep.c (_cthread_init_routine): Fix
declaration.
(init_routine): Update declaration and remove gratuitous cast.
commit 81cb5487d08c59fca0190cf03a07bdf45fe90ea8
Author: Neal H. Walfield <address@hidden>
Date: Mon May 2 22:00:34 2005 +0000
libpthread/
2005-05-02 Neal H. Walfield <address@hidden>
* pthread/pt-alloc.c (__pthread_alloc): Set the thread id to the
table index plus one.
* pthread/pt-internal.h (__pthread_getid): Index __pthread_threads
using THREAD - 1, not THREAD.
(__pthread_setid): Likewise.
* pthread/pt-create.c (__pthread_create_internal): Likewise.
* sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
When returning EBUSY, don't forget to first unlock MUTEX->__HELD.
commit d3259802444358fa6f917c7d2a049fc8fcc98cc0
Author: Neal H. Walfield <address@hidden>
Date: Wed Apr 20 15:26:52 2005 +0000
libpthread/
2005-04-20 Neal H. Walfield <address@hidden>
* sysdeps/generic/pt-setschedparam.c: policy's type is int, not
int *.
* include/pthread/pthread.h: Likewise.
Reported by Christopher `Physicman' Bodenstein <address@hidden>.
commit ca420458a592b5fce854d45c7c516cf2fb73f600
Author: Neal H. Walfield <address@hidden>
Date: Tue Feb 8 15:01:39 2005 +0000
libpthread/
2005-01-21 Michael Banck <address@hidden>
* Makefile ($(libdir)/libpthread2.a): Install linker script
from $(srcdir) instead of current directory.
($(libdir)/libpthread2_pic.a): Likewise.
commit a8c2a0c2a1bb1abc34056b09995cb66e5009fce9
Author: Neal H. Walfield <address@hidden>
Date: Tue Feb 8 14:42:03 2005 +0000
libpthread/
2005-02-08 Neal H. Walfield <address@hidden>
* sysdeps/mach/pt-spin.c (__pthread_spin_lock): Make a weak alias
to _pthread_spin_lock.
* sysdeps/posix/pt-spin.c (__pthread_spin_lock): Likewise.
commit d3b41b2c9ee4ac8a7786a78936bc8d929cc26a80
Author: Neal H. Walfield <address@hidden>
Date: Tue Jan 18 10:08:52 2005 +0000
libpthread/
2005-01-18 Neal H. Walfield <address@hidden>
* sysdeps/mach/hurd/pt-sysdep.h (__pthread_stack_dealloc): Add
__always_inline__ attribute.
* sysdeps/l4/hurd/pt-sysdep.h (_pthread_self): Likewise.
(__attribute__): Likewise.
commit a0cc53efb171fceddc40bae4568cff3e7b17a31b
Author: Neal H. Walfield <address@hidden>
Date: Tue Jan 18 09:57:35 2005 +0000
libpthread/
2005-01-12 Pietro Ferrari <address@hidden>
* include/pthread/pthread.h (pthread_spin_destroy): Replace extern
inline with extern __inline.
(pthread_spin_init): Likewise.
(pthread_spin_lock): Likewise.
(pthread_spin_trylock): Likewise.
(pthread_spin_unlock): Likewise.
* sysdeps/mach/bits/spin-lock.h (__pthread_spin_lock): Likewise.
* sysdeps/i386/bits/spin-lock.h (__pthread_spin_lock): Likewise.
* sysdeps/generic/bits/mutex.h (__pthread_mutex_trylock):
Likewise.
(pthread_mutex_lock): Likewise.
(pthread_mutex_trylock): Likewise.
* sysdeps/generic/bits/pthread.h (pthread_equal): Likewise.
commit 78e9767210adc52f8c5ea997bdc8d18b4b7812a5
Author: Marcus Brinkmann <address@hidden>
Date: Mon Mar 1 09:58:44 2004 +0000
auth/
2003-08-17 Marcus Brinkmann <address@hidden>
* auth.c: Include <stddef.h>.
(pending_users, pending_server): Change type to struct hurd_ihash,
initialize with HURD_IHASH_INITIALIZER.
(struct pending): Change type of member LOCP to hurd_ihash_locp_t.
(S_auth_user_authenticate): Use hurd_ihash_* functions instead
ihash_*.
(S_auth_server_authenticate): Likewise.
(main): Do not allocate the hash tables.
console-client/
2003-08-17 Marcus Brinkmann <address@hidden>
* vga-dynafont.c: Include <stddef.h>.
(struct mapped_character): Change type of LOCP to
hurd_ihash_locp_t.
(struct dynafont): Change type of CHARMAP to struct hurd_ihash.
(dynafont_new): Use hurd_ihash_init instead of ihash_create.
Remove variable ERR. Call hurd_ihash_add instead of ihash_add.
(dynafont_free): Call hurd_ihash_destroy, no ihash_free.
(dynafont_lookup_internal): Use hurd_ihash_find, not ihash_find.
(dynafont_lookup_internal): Call hurd_ihash_locp_remove instead
ihash_locp_remove, and hurd_ihash_add instead ihash_add.
(dynafont_change_font): Likewise. Clean out LOCP if character is
unmapped.
ftpfs/
2003-08-17 Marcus Brinkmann <address@hidden>
* ftpfs.h: Include <hurd/ihash.h>.
(struct ftpfs): Change type of INODE_MAPPINGS to struct
hurd_ihash.
(struct ftpfs_dir_entry): Change type of INODE_LOCP to
hurd_ihash_locp_t.
* node.c (ftpfs_create_node): Call hurd_ihash_add, not ihash_add.
(netfs_node_norefs): Call hurd_ihash_locp_remove, not
ihash_locp_remove.
* fs.c: Include <stddef.h>.
(ftpfs_create): Call hurd_ihash_init, not hurd_ihash_create.
Call hurd_ihash_destroy on error.
libihash/
2003-08-17 Marcus Brinkmann <address@hidden>
* ihash.c: Rewritten.
* ihash.h: Rewritten.
* Makefile (SRCS): Remove sizes.c.
(LCLHDRS): Remove priv.h.
* primes.c, sizes.c, priv.h: Files removed.
2003-08-17 Marcus Brinkmann <address@hidden>
* ports.h (struct port_bucket): Change type of HTABLE to struct
hurd_ihash.
(struct port_info): Change type of HENTRY to hurd_ihash_locp_t.
* lookup-port.c (ports_lookup_port): Use hurd_ihash_find instead
ihash_find.
* bucket-iterate.c (_ports_bucket_class_iterate): Use
HURD_IHASH_ITERATE instead ihash_iterate.
* inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Likewise.
* inhibit-bucket-rpcs.c (ports_inhibit_bucket_rpcs): Likewise.
* create-internal.c (_ports_create_port_internal): Use
hurd_ihash_add instead ihash_add.
* import-port.c (ports_import_port): Likewise.
* reallocate-from-external.c (ports_reallocate_from_external):
Likewise.
* reallocate-port.c (ports_reallocate_port): Likewise.
* transfer-right.c (ports_transfer_right): Likewise.
* create-bucket.c: Include <stddef.h>.
(ports_create_bucket): Use hurd_ihash_init instead hurd_ihash_create.
* class-iterate.c: Do not include <hurd/ihash.h>.
* claim-right.c (ports_claim_right): Call hurd_ihash_locp_remove
instead ihash_locp_remove.
* complete-deallocate.c (_ports_complete_deallocate): Likewise.
* destroy-right.c (ports_destroy_right): Likewise.
* reallocate-from-external.c (ports_reallocate_from_external):
Likewise.
* reallocate-port.c (ports_reallocate_port): Likewise.
* transfer-right.c (ports_transfer_right): Likewise.
libps/
2003-08-17 Marcus Brinkmann <address@hidden>
* ps.h (struct ps_context): Change type of members procs, ttys,
ttys_by_cttyid and users to struct hurd_ihash.
* context.c (ps_context_create): Remove variables err_procs,
err_ttys, err_ttys_by_cttyid and err_users. Use hurd_ihash_init
instead of ihash_create. Call hurd_ihash_set_cleanup and the
hurd_ihash_cleanup_t type instead of ihash_set_cleanup.
(ps_context_free): Call hurd_ihash_destroy instead of ihash_free.
(lookup): Call hurd_ihash_find instead ihash_find, hurd_ihash_add
instead ihash_add.
(ps_context_find_proc_stat): Take pointer of hash object.
(ps_context_find_tty): Likewise.
(ps_context_find_tty_by_cttyid): Likewise.
(ps_context_find_user): Likewise.
libpthread/
2003-08-17 Marcus Brinkmann <address@hidden>
* sysdeps/hurd/pt-key.h (PTHREAD_KEY_MEMBERS): Change type of
THREAD_SPECIFICS to hurd_ihash_t.
* sysdeps/hurd/pt-setspecific.c (pthread_setspecific): Call
hurd_ihash_create instead ihash_create, and hurd_ihash_add instead
ihash_add.
* sysdeps/hurd/pt-getspecific.c (pthread_getspecific): Call
hurd_ihash_find instead of ihash_find.
* sysdeps/hurd/pt-destroy-specific.c (__pthread_destroy_specific):
Call hurd_ihash_find instead of ihash_find, hurd_ihash_remove
instead of ihash_remove, and hurd_ihash_free instead of
ihash_free.
proc/
2003-08-17 Marcus Brinkmann <address@hidden>
* proc.h: Include <hurd/ihash.h>.
(struct proc): Change type of members p_pidhashloc and
p_taskhashloc to hurd_ihash_locp_t.
(struct pgrp): Likewise for pg_hashloc.
(struct session): Likewise for s_hashloc.
* hash.c: Change type of pghash, pidhash, taskhash and sidhash to
struct hurd_ihash and initialize them with HURD_IHASH_INITIALIZER.
Include stddef.h.
(pid_find): Call hurd_ihash_find instead ihash_find.
(pid_find_allow_zombie): Likewise.
(task_find): Likewise.
(task_find_nocreate): Likewise.
(pgrp_find): Likewise.
(session_find): Likewise.
(add_proc_to_hash): Call hurd_ihash_add instead ihash_add.
(add_pgrp_to_hash): Likewise.
(add_session_to_hash): Likewise.
(remove_pgrp_from_hash): Call hurd_ihash_locp_remove instead
ihash_locp_remove, and provide hash table pointer.
(remove_proc_from_hash): Likewise.
(remove_session_from_hash): Likewise.
(prociterate): Use HURD_IHASH_ITERATE instead ihash_iterate.
trans/
2003-08-17 Marcus Brinkmann <address@hidden>
* fakeroot.c: Include <stddef.h>.
(struct netnode): Change type of member idport_locp
to hurd_ihash_locp_t.
(idport_ihash): Change type to struct hurd_ihash and initialize
with HURD_IHASH_INITIALIZER.
(new_node): Call hurd_ihash_add instead of ihash_add.
(netfs_node_norefs): Call hrd_ihash_locp_remove instead
ihash_locp_remove.
(netfs_S_dir_lookup): Call hurd_ihash_find instead ihash_find.
utils/
2003-08-17 Marcus Brinkmann <address@hidden>
* rpctrace.c: Include <stddef.h>.
(struct traced_info): Change type of LOCP to hurd_ihash_locp_t.
(msgid_ihash): Change type to struct hurd_ihash, and initialize
with HURD_IHASH_INITIALIZER, don't set cleanup here.
(traced_names): Likewise.
(main): Call hurd_ihash_set_cleanup for msgid_ihash. Don't create
traced_names.
(parse_msgid_list): Call hurd_ihash_add instead ihash_add.
(new_send_wrapper): Likewise.
(msgid_info): Likewise. Call hurd_ihash_find instead ihash_find.
(rewrite_right): Likewise.
(traced_dropweak): Call hurd_ihash_locp_remove instead
ihash_locp_remove.
commit cb62fb204d22daea8ec0367c7590f32116276aa7
Author: Marco Gerards <address@hidden>
Date: Wed Aug 20 20:40:06 2003 +0000
2003-08-03 Marco Gerards <address@hidden>
* Makefile (install): Do not install from $(srcdir).
commit 562f681d63d5b2b4a06db8b2378cdef45c7594e4
Author: Neal H. Walfield <address@hidden>
Date: Tue Nov 26 17:50:48 2002 +0000
2002-11-26 Neal H. Walfield <address@hidden>
* pthread/pt-create.c [HAVE_USELOCAL]: Include <locale.h>.
(entry_point) [HAVE_USELOCALE]: Initialize the thread to the
global locale.
commit 96f08e93f5cc18de5877bc1700e46b805cb86a78
Author: Neal H. Walfield <address@hidden>
Date: Mon Nov 25 21:07:35 2002 +0000
2002-11-25 Neal H. Walfield <address@hidden>
* sysdeps/mach/hurd/i386/pt-setup.c (__pthread_setup): Fix last
change.
commit a59f26424348f0caf9a3666f9b6ac12565e425e1
Author: Neal H. Walfield <address@hidden>
Date: Mon Nov 18 22:20:58 2002 +0000
2002-11-18 Neal H. Walfield <address@hidden>
* sysdeps/mach/pt-wakeup.c (__pthread_wakeup): Use the size of
THREAD->wakeupmsg which may not be a mach_msg_header_t.
* sysdeps/generic/pt-mutex-timedlock.c
(__pthread_mutex_timedlock_internal): Really test for equality.
* sysdeps/generic/pt-rwlock-timedrdlock.c
(__pthread_rwlock_timedrdlock_internal): Likewise.
* sysdeps/generic/pt-rwlock-timedwrlock.c
(__pthread_rwlock_timedwrlock_internal): Likewise.
* sysdeps/generic/pt-cond-timedwait.c
(__pthread_cond_timedwait_internal): On timeout, remove our thread
structure from the wait queue if necessary.
* sysdeps/l4/pt-start.c (__pthread_start): Call L4_Myself, not
__mach_thread_self.
* sysdeps/mach/hurd/i386/pt-setup.c: Include <mach.h>.
(__pthread_setup): Do not leak references from __mach_thread_self.
* sysdeps/mach/hurd/pt-docancel.c (__pthread_do_cancel): Likewise.
* sysdeps/mach/hurd/pt-sysdep.h (_pthread_self): Likewise.
* sysdeps/mach/pt-thread-alloc.c (__pthread_thread_alloc): Likewise.
* sysdeps/mach/pt-thread-start.c (__pthread_thread_start): Likewise.
* sysdeps/mach/pt-start.c: Remove dead file.
commit 92d94f2528ad27aaa1b2753f96ea95d7bb7f71d9
Author: Roland McGrath <address@hidden>
Date: Sun Nov 10 04:18:18 2002 +0000
.
commit cdb06f48bf15215610d91eddeb2af0a7bdbea2fd
Author: Roland McGrath <address@hidden>
Date: Sun Nov 10 04:18:11 2002 +0000
2002-11-09 Roland McGrath <address@hidden>
* include/pthread/pthread.h: Avoid `__thread' as an identifier,
since it might be a keyword.
commit 1f41464c1b1620f164927f13ca0c2119ffb5a1b0
Author: Neal H. Walfield <address@hidden>
Date: Sat Nov 2 23:41:51 2002 +0000
2002-11-02 Alfred M. Szmidt <address@hidden>
* sysdeps/generic/pt-key-delete.c, sysdeps/hurd/pt-key-delete.c
(pthread_key_delete): Renamed from pthread_key_destroy. Reported
by Michael Koch <address@hidden>
commit b7f80be8ca511ccf92f4488dc34e42712e1f957d
Author: Neal H. Walfield <address@hidden>
Date: Sun Oct 13 00:58:03 2002 +0000
2002-10-12 Neal H. Walfield <address@hidden>
* sysdeps/hurd/pt-destroy-specific.c (__pthread_destroy_specific):
Only call the destructor if there is one set.
commit b1c60ca6e55ead2fda78550689f588d81bb6c23b
Author: Neal H. Walfield <address@hidden>
Date: Fri Oct 11 23:57:47 2002 +0000
Finish import.
commit 51c55d85632d43aa362b625ae519d00d559f9e5c
Author: Neal H. Walfield <address@hidden>
Date: Thu Oct 10 23:05:06 2002 +0000
Import libpthread.
-----------------------------------------------------------------------
hooks/post-receive
--
POSIX threading library
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] POSIX threading library branch, master-fix_have_kernel_resources, created. 50a5d4825869a40ecddf650181b6c4f75dfc6dd0,
Thomas Schwinge <=