diff options
author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-05-26 02:17:02 +0000 |
---|---|---|
committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-05-26 02:17:02 +0000 |
commit | 6321510368dffba1e4748233e7143f315d150484 (patch) | |
tree | f4a7037ba4086c5fa56bf3c6fdcf328345f16b55 /libpthread/nptl/sysdeps/pthread/posix-timer.h | |
parent | 8028f35dbe29c5ace3883005e08ac91d873553b2 (diff) | |
download | uClibc-alpine-6321510368dffba1e4748233e7143f315d150484.tar.bz2 uClibc-alpine-6321510368dffba1e4748233e7143f315d150484.tar.xz |
libpthread/nptl/sysdeps/unix/sysv/linux/libc_multiple_threads.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/bits
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/sem_post.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile
libpthread/nptl/sysdeps/unix/sysv/linux/configure
libpthread/nptl/sysdeps/unix/sysv/linux/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_kill.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Makefile
libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/smp.h
libpthread/nptl/sysdeps/unix/sysv/linux/mq_notify.c
libpthread/nptl/sysdeps/unix/sysv/linux/internaltypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/fork.h
libpthread/nptl/sysdeps/unix/sysv/linux/sem_trywait.c
libpthread/nptl/sysdeps/unix/sysv/linux/register-atfork.c
libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c
libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c
libpthread/nptl/sysdeps/unix/sysv/linux/getpid.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/s390-64/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
libpthread/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_yield.c
libpthread/nptl/sysdeps/unix/sysv/linux/Implies
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/clone2.S
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/pt-initfini.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/Makefile
libpthread/nptl/sysdeps/unix/sysv/linux/ia64/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/pt-raise.c
libpthread/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h
libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sparc/aio_cancel.c
libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/mips/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/mips/bits
libpthread/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/mips/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/mips/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/mips/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/mips/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c
libpthread/nptl/sysdeps/unix/sysv/linux/jmp-unwind.c
libpthread/nptl/sysdeps/unix/sysv/linux/aio_misc.h
libpthread/nptl/sysdeps/unix/sysv/linux/sem_post.c
libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c
libpthread/nptl/sysdeps/unix/sysv/linux/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/Makefile
libpthread/nptl/sysdeps/unix/sysv/linux/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym
libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
libpthread/nptl/sysdeps/unix/sysv/linux/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/raise.c
libpthread/nptl/sysdeps/unix/sysv/linux/allocrtsig.c
libpthread/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
libpthread/nptl/sysdeps/unix/sysv/linux/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c
libpthread/nptl/sysdeps/unix/sysv/linux/sem_wait.c
libpthread/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c
libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_barrier_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_signal.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedrdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_wrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_post.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_rdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_trywait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedwrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_broadcast.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_barrier_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_signal.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedrdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_wrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_post.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_rdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_trywait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedwrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_broadcast.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/i386/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_delete.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_init.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_create.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/bits
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_getaffinity.c
libpthread/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h
libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym
libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
libpthread/nptl/sysdeps/unix/sysv/linux/Versions
libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/fork.c
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/smp.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sh4
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/clone.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/bits
libpthread/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/bits/semaphore.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c
libpthread/nptl/sysdeps/unix/sysv/linux/sh/createthread.c
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c
libpthread/nptl/sysdeps/unix/sysv/linux/timer_getoverr.c
libpthread/nptl/sysdeps/pthread/configure
libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c
libpthread/nptl/sysdeps/pthread/unwind-resume.c
libpthread/nptl/sysdeps/pthread/sigfillset.c
libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c
libpthread/nptl/sysdeps/pthread/timer_routines.c
libpthread/nptl/sysdeps/pthread/pthread_cond_broadcast.c
libpthread/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c
libpthread/nptl/sysdeps/pthread/malloc-machine.h
libpthread/nptl/sysdeps/pthread/pthread_barrier_wait.c
libpthread/nptl/sysdeps/pthread/tcb-offsets.h
libpthread/nptl/sysdeps/pthread/pthread_getcpuclockid.c
libpthread/nptl/sysdeps/pthread/pt-longjmp.c
libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c
libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c
libpthread/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c
libpthread/nptl/sysdeps/pthread/pthread_once.c
libpthread/nptl/sysdeps/pthread/createthread.c
libpthread/nptl/sysdeps/pthread/Makefile
libpthread/nptl/sysdeps/pthread/pthread.h
libpthread/nptl/sysdeps/pthread/timer_gettime.c
libpthread/nptl/sysdeps/pthread/flockfile.c
libpthread/nptl/sysdeps/pthread/funlockfile.c
libpthread/nptl/sysdeps/pthread/timer_delete.c
libpthread/nptl/sysdeps/pthread/pthread-functions.h
libpthread/nptl/sysdeps/pthread/allocalim.h
libpthread/nptl/sysdeps/pthread/pthread_spin_init.c
libpthread/nptl/sysdeps/pthread/timer_create.c
libpthread/nptl/sysdeps/pthread/setxid.h
libpthread/nptl/sysdeps/pthread/pthread_sigmask.c
libpthread/nptl/sysdeps/pthread/configure.in
libpthread/nptl/sysdeps/pthread/librt-cancellation.c
libpthread/nptl/sysdeps/pthread/timer_settime.c
libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c
libpthread/nptl/sysdeps/pthread/sigaction.c
libpthread/nptl/sysdeps/pthread/sigprocmask.c
libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c
libpthread/nptl/sysdeps/pthread/rt-unwind-resume.c
libpthread/nptl/sysdeps/pthread/posix-timer.h
libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c
libpthread/nptl/sysdeps/pthread/pthread_spin_destroy.c
libpthread/nptl/sysdeps/pthread/pt-initfini.c
libpthread/nptl/sysdeps/pthread/Subdirs
libpthread/nptl/sysdeps/pthread/pthread_spin_unlock.c
libpthread/nptl/sysdeps/pthread/ftrylockfile.c
libpthread/nptl/sysdeps/pthread/timer_getoverr.c
libpthread/nptl/sysdeps/generic/pt-raise.c
libpthread/nptl/sysdeps/generic/lowlevellock.h
Diffstat (limited to 'libpthread/nptl/sysdeps/pthread/posix-timer.h')
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/posix-timer.h | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/pthread/posix-timer.h b/libpthread/nptl/sysdeps/pthread/posix-timer.h new file mode 100644 index 000000000..8b4cbc8cd --- /dev/null +++ b/libpthread/nptl/sysdeps/pthread/posix-timer.h @@ -0,0 +1,197 @@ +/* Definitions for POSIX timer implementation on top of NPTL. + Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Kaz Kylheku <kaz@ashi.footprints.net>. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <limits.h> +#include <signal.h> + +/* Double linked list. */ +struct list_links +{ + struct list_links *next; + struct list_links *prev; +}; + + +/* Forward declaration. */ +struct timer_node; + + +/* Definitions for an internal thread of the POSIX timer implementation. */ +struct thread_node +{ + struct list_links links; + pthread_attr_t attr; + pthread_t id; + unsigned int exists; + struct list_links timer_queue; + pthread_cond_t cond; + struct timer_node *current_timer; + pthread_t captured; + clockid_t clock_id; +}; + + +/* Internal representation of a timer. */ +struct timer_node +{ + struct list_links links; + struct sigevent event; + clockid_t clock; + struct itimerspec value; + struct timespec expirytime; + pthread_attr_t attr; + unsigned int abstime; + unsigned int armed; + enum { + TIMER_FREE, TIMER_INUSE, TIMER_DELETED + } inuse; + struct thread_node *thread; + pid_t creator_pid; + int refcount; + int overrun_count; +}; + + +/* The limit is not published if we are compiled with kernel timer support. + But we still compiled in this implementation with its limit unless built + to require the kernel support. */ +#ifndef TIMER_MAX +# define TIMER_MAX 256 +#endif + +/* Static array with the structures for all the timers. */ +extern struct timer_node __timer_array[TIMER_MAX]; + +/* Global lock to protect operation on the lists. */ +extern pthread_mutex_t __timer_mutex; + +/* Variable to protext initialization. */ +extern pthread_once_t __timer_init_once_control; + +/* Nonzero if initialization of timer implementation failed. */ +extern int __timer_init_failed; + +/* Node for the thread used to deliver signals. */ +extern struct thread_node __timer_signal_thread_rclk; + + +/* Return pointer to timer structure corresponding to ID. */ +#define timer_id2ptr(timerid) ((struct timer_node *) timerid) +#define timer_ptr2id(timerid) ((void *) timerid) + +/* Check whether timer is valid; global mutex must be held. */ +static inline int +timer_valid (struct timer_node *timer) +{ + return timer && timer->inuse == TIMER_INUSE; +} + +/* Timer refcount functions; need global mutex. */ +extern void __timer_dealloc (struct timer_node *timer); + +static inline void +timer_addref (struct timer_node *timer) +{ + timer->refcount++; +} + +static inline void +timer_delref (struct timer_node *timer) +{ + if (--timer->refcount == 0) + __timer_dealloc (timer); +} + +/* Timespec helper routines. */ +static inline int +__attribute ((always_inline)) +timespec_compare (const struct timespec *left, const struct timespec *right) +{ + if (left->tv_sec < right->tv_sec) + return -1; + if (left->tv_sec > right->tv_sec) + return 1; + + if (left->tv_nsec < right->tv_nsec) + return -1; + if (left->tv_nsec > right->tv_nsec) + return 1; + + return 0; +} + +static inline void +timespec_add (struct timespec *sum, const struct timespec *left, + const struct timespec *right) +{ + sum->tv_sec = left->tv_sec + right->tv_sec; + sum->tv_nsec = left->tv_nsec + right->tv_nsec; + + if (sum->tv_nsec >= 1000000000) + { + ++sum->tv_sec; + sum->tv_nsec -= 1000000000; + } +} + +static inline void +timespec_sub (struct timespec *diff, const struct timespec *left, + const struct timespec *right) +{ + diff->tv_sec = left->tv_sec - right->tv_sec; + diff->tv_nsec = left->tv_nsec - right->tv_nsec; + + if (diff->tv_nsec < 0) + { + --diff->tv_sec; + diff->tv_nsec += 1000000000; + } +} + + +/* We need one of the list functions in the other modules. */ +static inline void +list_unlink_ip (struct list_links *list) +{ + struct list_links *lnext = list->next, *lprev = list->prev; + + lnext->prev = lprev; + lprev->next = lnext; + + /* The suffix ip means idempotent; list_unlink_ip can be called + * two or more times on the same node. + */ + + list->next = list; + list->prev = list; +} + + +/* Functions in the helper file. */ +extern void __timer_mutex_cancel_handler (void *arg); +extern void __timer_init_once (void); +extern struct timer_node *__timer_alloc (void); +extern int __timer_thread_start (struct thread_node *thread); +extern struct thread_node *__timer_thread_find_matching (const pthread_attr_t *desired_attr, clockid_t); +extern struct thread_node *__timer_thread_alloc (const pthread_attr_t *desired_attr, clockid_t); +extern void __timer_thread_dealloc (struct thread_node *thread); +extern int __timer_thread_queue_timer (struct thread_node *thread, + struct timer_node *insert); +extern void __timer_thread_wakeup (struct thread_node *thread); |