[haiku-commits] r42110 - in haiku/branches/developer/bonefish/signals-merge: . build/jam headers/libs/freetype2 headers/libs/png headers/libs/tiff ...

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 12 Jun 2011 00:32:36 +0200 (CEST)

Author: bonefish
Date: 2011-06-12 00:32:34 +0200 (Sun, 12 Jun 2011)
New Revision: 42110
Changeset: https://dev.haiku-os.org/changeset/42110

Added:
   haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/DPC.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/UserEvent.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/UserTimer.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/util/KernelReferenceable.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/signal_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/time_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/times_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/unistd_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/signal_defs.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/user_timer_defs.h
   
haiku/branches/developer/bonefish/signals-merge/src/libs/posix_error_mapper/time.cpp
   haiku/branches/developer/bonefish/signals-merge/src/system/kernel/DPC.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/TeamThreadTables.h
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/UserEvent.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/UserTimer.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/x86_signals.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/x86_signals.h
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/x86_signals_asm.S
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/lib/kernel_lib.h
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/scheduler/scheduler_common.h
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/util/KernelReferenceable.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/pthread/pthread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/psiginfo.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/psignal.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/set_signal_mask.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigaction.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/signal.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/signal_limits.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigpending.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigqueue.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigset.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigset_accessors.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigsuspend.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigtimedwait.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigwait.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigwaitinfo.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/strsignal.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/itimer.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/times.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/wait.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/time/clock.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/time/clock_support.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/time/timer_support.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/unistd/conf.cpp
Removed:
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/set_signal_disposition.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigaction.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/signal.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigpending.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigprocmask.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigset.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigsuspend.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/sigwait.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/signal/strsignal.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/itimer.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/times.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/sys/wait.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/time/clock.c
   
haiku/branches/developer/bonefish/signals-merge/src/system/libroot/posix/unistd/conf.c
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/clock_getres/6-2.c
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/clock_gettime/8-2.c
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/clock_settime/17-1.c
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/sigwait/3-1.c
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/timer_delete/speculative/
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/timer_getoverrun/speculative/
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/timer_gettime/speculative/
   
haiku/branches/developer/bonefish/signals-merge/src/tests/system/libroot/posix/posixtestsuite/conformance/interfaces/timer_settime/speculative/
Modified:
   haiku/branches/developer/bonefish/signals-merge/
   haiku/branches/developer/bonefish/signals-merge/build/jam/MainBuildRules
   haiku/branches/developer/bonefish/signals-merge/headers/libs/freetype2/
   haiku/branches/developer/bonefish/signals-merge/headers/libs/png/png.h
   haiku/branches/developer/bonefish/signals-merge/headers/libs/png/pngconf.h
   haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiff.h
   haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiffio.h
   haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiffvers.h
   haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/OS.h
   haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/debugger.h
   
haiku/branches/developer/bonefish/signals-merge/headers/posix/arch/x86/signal.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/limits.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/pthread.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/setjmp.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/signal.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/types.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/wait.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/time.h
   haiku/branches/developer/bonefish/signals-merge/headers/posix/unistd.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/arch/thread.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/arch/x86/arch_cpu.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/arch/x86/arch_thread.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/condition_variable.h
   haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/cpu.h
   haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/elf.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/kscheduler.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/ksignal.h
   haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/lock.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/real_time_clock.h
   haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/team.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/thread.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/thread_types.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/timer.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/user_debugger.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/usergroup.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/kernel/util/AutoLock.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/libroot_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/libroot/pthread_private.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/shared/syscall_utils.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/arch/x86/arch_commpage_defs.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/syscalls.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/thread_defs.h
   haiku/branches/developer/bonefish/signals-merge/headers/private/system/tls.h
   
haiku/branches/developer/bonefish/signals-merge/headers/private/system/user_thread_defs.h
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/bus_managers/acpi/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/debugger/invalidate_on_exit/invalidate_on_exit.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/debugger/run_on_exit/run_on_exit.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/ipro100/dev/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/aironetwifi/dev/an/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/atheroswifi/dev/ath/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/iprowifi2200/dev/iwi/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/dev/wpi/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/marvell88w8335/dev/malo/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/kernel/drivers/network/wlan/wavelanwifi/dev/wi/
   
haiku/branches/developer/bonefish/signals-merge/src/add-ons/media/plugins/ffmpeg/
   haiku/branches/developer/bonefish/signals-merge/src/apps/terminal/TermApp.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/bin/debug/profile/profile.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/bin/debug/scheduling_recorder/scheduling_recorder.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/bin/debug/strace/MemoryReader.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/bin/debug/strace/MemoryReader.h
   
haiku/branches/developer/bonefish/signals-merge/src/bin/debug/strace/strace.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/bin/gdb/libiberty/config.h
   haiku/branches/developer/bonefish/signals-merge/src/build/libbe/storage/mime/
   haiku/branches/developer/bonefish/signals-merge/src/kits/network/socket.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/libs/compat/freebsd_wlan/net80211/
   
haiku/branches/developer/bonefish/signals-merge/src/libs/compat/freebsd_wlan/net80211/ieee80211_node.c
   
haiku/branches/developer/bonefish/signals-merge/src/libs/compat/freebsd_wlan/net80211/ieee80211_node.h
   haiku/branches/developer/bonefish/signals-merge/src/libs/freetype2/
   haiku/branches/developer/bonefish/signals-merge/src/libs/png/
   
haiku/branches/developer/bonefish/signals-merge/src/libs/posix_error_mapper/Jamfile
   
haiku/branches/developer/bonefish/signals-merge/src/libs/posix_error_mapper/pthread_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/libs/posix_error_mapper/signal.cpp
   haiku/branches/developer/bonefish/signals-merge/src/libs/tiff/
   haiku/branches/developer/bonefish/signals-merge/src/system/kernel/Jamfile
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/arm/arch_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/m68k/arch_debug.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/m68k/arch_int.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/m68k/arch_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/mipsel/arch_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/ppc/arch_debug.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/ppc/arch_int.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/ppc/arch_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/Jamfile
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_commpage.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_debug.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_int.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_interrupts.S
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_thread.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_user_debugger.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/arch_x86.S
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/asm_offsets.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/x86_syscalls.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/arch/x86/x86_syscalls.h
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/condition_variable.cpp
   haiku/branches/developer/bonefish/signals-merge/src/system/kernel/cpu.cpp
   
haiku/branches/developer/bonefish/signals-merge/src/system/kernel/debug/debug_heap.cpp
   [... truncated: 87 changed files follow ...]
Log:
Merged signals branch. Ignoring tree conflict of
src/system/libroot/posix/pthread/pthread.c caused by r40665.



Property changes on: haiku/branches/developer/bonefish/signals-merge
___________________________________________________________________
Modified: svn:mergeinfo
   - /haiku/branches/developer/bonefish/signals:40148-40195
/haiku/branches/developer/bonefish/weak-symbols:39365-39568
   + /haiku/branches/developer/bonefish/signals:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols:39365-39568

Modified: 
haiku/branches/developer/bonefish/signals-merge/build/jam/MainBuildRules
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/build/jam/MainBuildRules    
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/build/jam/MainBuildRules    
2011-06-11 22:32:34 UTC (rev 42110)
@@ -314,6 +314,11 @@
                }
        }
 
+       # Turn off "invalid use of offsetof()" macro warning. We use offsetof() 
also
+       # for non-PODs. Since we're using the same compiler for the whole 
kernel and
+       # don't do virtual inheritence, that works well enough.
+       flags += -Wno-invalid-offsetof ;
+
        # locate object, search for source, and set on target variables
 
        Depends $(header) : $(source) ;


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/freetype2
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/freetype2:40148-40195
/haiku/vendor/freetype2/2.4.4/include:40532
/haiku/vendor/freetype2/current/include:37946-40531
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/freetype2:40148-40195,40198-42104
/haiku/vendor/freetype2/2.4.4/include:40532
/haiku/vendor/freetype2/current/include:37946-40531


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/png/png.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/png/png.h:40148-40195
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/png/png.h:39365-39568
/haiku/vendor/libpng/1.4.4/png.h:39522
/haiku/vendor/libpng/current/png.h:35840-39521
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/png/png.h:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/png/png.h:39365-39568
/haiku/vendor/libpng/1.4.4/png.h:39522
/haiku/vendor/libpng/current/png.h:35840-39521


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/png/pngconf.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/png/pngconf.h:40148-40195
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/png/pngconf.h:39365-39568
/haiku/vendor/libpng/1.4.4/pngconf.h:39522
/haiku/vendor/libpng/current/pngconf.h:35840-39521
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/png/pngconf.h:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/png/pngconf.h:39365-39568
/haiku/vendor/libpng/1.4.4/pngconf.h:39522
/haiku/vendor/libpng/current/pngconf.h:35840-39521


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiff.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiff.h:40148-40195
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiff.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiff.h:38702
/haiku/vendor/libtiff/current/libtiff/tiff.h:38700-38701
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiff.h:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiff.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiff.h:38702
/haiku/vendor/libtiff/current/libtiff/tiff.h:38700-38701


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiffio.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiffio.h:40148-40195
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiffio.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiffio.h:38702
/haiku/vendor/libtiff/current/libtiff/tiffio.h:38700-38701
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiffio.h:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiffio.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiffio.h:38702
/haiku/vendor/libtiff/current/libtiff/tiffio.h:38700-38701


Property changes on: 
haiku/branches/developer/bonefish/signals-merge/headers/libs/tiff/tiffvers.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiffvers.h:40148-40195
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiffvers.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiffvers.h:38702
/haiku/vendor/libtiff/current/libtiff/tiffvers.h:38700-38701
   + 
/haiku/branches/developer/bonefish/signals/headers/libs/tiff/tiffvers.h:40148-40195,40198-42104
/haiku/branches/developer/bonefish/weak-symbols/headers/libs/tiff/tiffvers.h:39365-39568
/haiku/vendor/libtiff/3.9.4/libtiff/tiffvers.h:38702
/haiku/vendor/libtiff/current/libtiff/tiffvers.h:38700-38701

Modified: haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/OS.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/OS.h      
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/OS.h      
2011-06-11 22:32:34 UTC (rev 42110)
@@ -311,6 +311,8 @@
 #define B_REAL_TIME_PRIORITY                   120
 
 #define B_SYSTEM_TIMEBASE                              0
+       /* time base for snooze_*(), compatible with the clockid_t constants 
defined
+          in <time.h> */
 
 #define B_FIRST_REAL_TIME_PRIORITY             B_REAL_TIME_DISPLAY_PRIORITY
 
@@ -739,6 +741,11 @@
 extern double          is_computer_on_fire(void);
 
 
+/* signal related functions */
+int            send_signal(thread_id threadID, unsigned int signal);
+void   set_signal_stack(void* base, size_t size);
+
+
 /* WARNING: Experimental API! */
 
 enum {

Modified: 
haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/debugger.h
===================================================================
--- 
haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/debugger.h    
    2011-06-11 22:27:25 UTC (rev 42109)
+++ 
haiku/branches/developer/bonefish/signals-merge/headers/os/kernel/debugger.h    
    2011-06-11 22:32:34 UTC (rev 42110)
@@ -151,7 +151,7 @@
        B_DEBUG_MESSAGE_CLEAR_WATCHPOINT,       // clear a watchpoint
        B_DEBUG_MESSAGE_SET_SIGNAL_MASKS,       // set/get a thread's masks of 
signals
        B_DEBUG_MESSAGE_GET_SIGNAL_MASKS,       //  the debugger is interested 
in
-       B_DEBUG_MESSAGE_SET_SIGNAL_HANDLER,     // set/get a thread's signal 
handler for
+       B_DEBUG_MESSAGE_SET_SIGNAL_HANDLER,     // set/get the team's signal 
handler for
        B_DEBUG_MESSAGE_GET_SIGNAL_HANDLER,     //  a signal
 
        B_DEBUG_MESSAGE_PREPARE_HANDOVER,       // prepares the debugged team 
for being
@@ -356,7 +356,6 @@
 // B_DEBUG_MESSAGE_SET_SIGNAL_HANDLER
 
 typedef struct {
-       thread_id                       thread;         // the thread
        int                                     signal;         // the signal
        struct sigaction        handler;        // the new signal handler
 } debug_nub_set_signal_handler;
@@ -365,7 +364,6 @@
 
 typedef struct {
        port_id                         reply_port;     // port to send the 
reply to
-       thread_id                       thread;         // the thread
        int                                     signal;         // the signal
 } debug_nub_get_signal_handler;
 

Modified: 
haiku/branches/developer/bonefish/signals-merge/headers/posix/arch/x86/signal.h
===================================================================
--- 
haiku/branches/developer/bonefish/signals-merge/headers/posix/arch/x86/signal.h 
    2011-06-11 22:27:25 UTC (rev 42109)
+++ 
haiku/branches/developer/bonefish/signals-merge/headers/posix/arch/x86/signal.h 
    2011-06-11 22:32:34 UTC (rev 42110)
@@ -90,7 +90,7 @@
        unsigned char   mm7[10];
        unsigned char   _reserved_154_159[6];
 } mmx_regs;
-       
+
 typedef struct xmmx_regs {
        unsigned char   xmm0[16];
        unsigned char   xmm1[16];
@@ -105,7 +105,7 @@
 typedef struct new_extended_regs {
        unsigned short  fp_control;
        unsigned short  fp_status;
-       unsigned short  fp_tag;  
+       unsigned short  fp_tag;
        unsigned short  fp_opcode;
        unsigned long   fp_eip;
        unsigned short  fp_cs;
@@ -128,7 +128,7 @@
                old_extended_regs       old_format;
                new_extended_regs       new_format;
        } state;
-       unsigned long   format;  
+       unsigned long   format;
 } extended_regs;
 
 struct vregs {
@@ -141,9 +141,11 @@
        unsigned long                   ebp;
        unsigned long                   _reserved_1;
        extended_regs   xregs;
-       unsigned long                   _reserved_2[3];
+       unsigned long                   edi;
+       unsigned long                   esi;
+       unsigned long                   ebx;
 };
- 
+
 #endif /* __INTEL__ */
 
 #endif /* _ARCH_SIGNAL_H_ */

Modified: haiku/branches/developer/bonefish/signals-merge/headers/posix/limits.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/limits.h      
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/limits.h      
2011-06-11 22:32:34 UTC (rev 42110)
@@ -71,6 +71,12 @@
 #define _POSIX_STREAM_MAX      (8)
 #define _POSIX_TTY_NAME_MAX            (256)
 #define _POSIX_TZNAME_MAX      (3)
+#define _POSIX_SEM_VALUE_MAX   INT_MAX
+#define        _POSIX_SIGQUEUE_MAX             32
+#define _POSIX_RTSIG_MAX               8
+#define _POSIX_CLOCKRES_MIN            20000000
+#define _POSIX_TIMER_MAX               32
+#define _POSIX_DELAYTIMER_MAX  32
 
 #define _POSIX2_LINE_MAX               (2048)
 

Modified: 
haiku/branches/developer/bonefish/signals-merge/headers/posix/pthread.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/pthread.h     
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/pthread.h     
2011-06-11 22:32:34 UTC (rev 42110)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2010 Haiku Inc. All Rights Reserved.
+ * Copyright 2001-2011 Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the Haiku License.
  */
 #ifndef _PTHREAD_H_
@@ -8,66 +8,10 @@
 
 #include <sched.h>
 #include <stdint.h>
+#include <sys/types.h>
 #include <time.h>
 
 
-typedef struct _pthread_thread         *pthread_t;
-typedef struct  _pthread_attr          *pthread_attr_t;
-typedef struct  _pthread_mutex         pthread_mutex_t;
-typedef struct  _pthread_mutexattr     *pthread_mutexattr_t;
-typedef struct  _pthread_cond          pthread_cond_t;
-typedef struct  _pthread_condattr      *pthread_condattr_t;
-typedef int                                                    pthread_key_t;
-typedef struct  _pthread_once          pthread_once_t;
-typedef struct  _pthread_rwlock                pthread_rwlock_t;
-typedef struct  _pthread_rwlockattr    *pthread_rwlockattr_t;
-typedef struct  _pthread_spinlock      pthread_spinlock_t;
-/*
-typedef struct  _pthread_barrier       *pthread_barrier_t;
-typedef struct  _pthread_barrierattr *pthread_barrierattr_t;
-*/
-
-struct _pthread_mutex {
-       uint32_t        flags;
-       int32_t         lock;
-       int32_t         unused;
-       int32_t         owner;
-       int32_t         owner_count;
-};
-
-struct _pthread_cond {
-       uint32_t                flags;
-       int32_t                 unused;
-       pthread_mutex_t *mutex;
-       int32_t                 waiter_count;
-       int32_t                 lock;
-};
-
-struct _pthread_once {
-       int32_t         state;
-};
-
-struct _pthread_rwlock {
-       uint32_t        flags;
-       int32_t         owner;
-       union {
-               struct {
-                       int32_t         sem;
-               } shared;
-               struct {
-                       int32_t         lock_sem;
-                       int32_t         lock_count;
-                       int32_t         reader_count;
-                       int32_t         writer_count;
-                       void*           waiters[2];
-               } local;
-       };
-};
-
-struct _pthread_spinlock {
-       int32_t         lock;
-};
-
 #define PTHREAD_MUTEX_DEFAULT          0
 #define PTHREAD_MUTEX_NORMAL           1
 #define PTHREAD_MUTEX_ERRORCHECK       2
@@ -278,7 +222,6 @@
 extern void pthread_exit(void *value_ptr);
 extern int pthread_join(pthread_t thread, void **_value);
 extern pthread_t pthread_self(void);
-extern int pthread_kill(pthread_t thread, int sig);
 extern int pthread_getconcurrency(void);
 extern int pthread_setconcurrency(int newLevel);
 

Modified: haiku/branches/developer/bonefish/signals-merge/headers/posix/setjmp.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/setjmp.h      
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/setjmp.h      
2011-06-11 22:32:34 UTC (rev 42110)
@@ -15,8 +15,7 @@
 
 typedef struct __jmp_buf_tag {
        __jmp_buf       regs;           /* saved registers, stack & program 
pointer */
-       int                     mask_was_saved;
-       sigset_t        saved_mask;
+       sigset_t        inverted_signal_mask;
 } jmp_buf[1];
 
 typedef jmp_buf sigjmp_buf;

Modified: haiku/branches/developer/bonefish/signals-merge/headers/posix/signal.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/signal.h      
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/signal.h      
2011-06-11 22:32:34 UTC (rev 42110)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2002-2010 Haiku Inc. All Rights Reserved.
+ * Copyright 2002-2011, Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef _SIGNAL_H_
@@ -10,48 +10,73 @@
 
 
 typedef int    sig_atomic_t;
-typedef __haiku_int32 sigset_t;
+typedef __haiku_uint64 sigset_t;
 
-typedef void (*sighandler_t)(int);
-       /* GNU-like signal handler typedef */
 
-typedef void (*__signal_func_ptr)(int);
-       /* deprecated, for compatibility with BeOS only */
+/* macros defining the standard signal handling behavior */
+#define SIG_DFL                ((__sighandler_t)0)             /* "default" 
signal behaviour */
+#define SIG_IGN                ((__sighandler_t)1)             /* ignore 
signal */
+#define SIG_ERR                ((__sighandler_t)-1)    /* an error occurred 
during signal
+                                                                               
           processing */
+#define SIG_HOLD       ((__sighandler_t)3)             /* the signal was hold 
*/
 
+/* macros specifying the event notification type (sigevent::sigev_notify) */
+#define SIGEV_NONE             0       /* no notification */
+#define SIGEV_SIGNAL   1       /* notify via queued signal */
+#define SIGEV_THREAD   2       /* notify via function called in new thread */
 
-/* macros defining the standard signal handling behavior */
-#define SIG_DFL                ((sighandler_t)0)       /* "default" signal 
behaviour */
-#define SIG_IGN                ((sighandler_t)1)       /* ignore signal */
-#define SIG_ERR                ((sighandler_t)-1)      /* an error occurred 
during signal processing */
-#define SIG_HOLD       ((sighandler_t)3)       /* the signal was hold */
 
-/* TODO: Support this structure, or more precisely the SA_SIGINFO flag. To do
- * this properly we need real-time signal support. Both are commented out for
- * the time being to not make "configure" scripts think we do support them. */
-#if 0
-typedef struct {
-       int             si_signo;       /* signal number */
-       int             si_code;        /* signal code */
-       int             si_errno;       /* if non zero, an error number 
associated with this signal */
-       pid_t   si_pid;         /* sending process ID */
-       uid_t   si_uid;         /* real user ID of sending process */
-       void    *si_addr;       /* address of faulting instruction */
-       int             si_status;      /* exit value or signal */
-       long    si_band;        /* band event for SIGPOLL */
+union sigval {
+       int             sival_int;
+       void*   sival_ptr;
+};
+
+struct sigevent {
+       int                             sigev_notify;   /* notification type */
+       int                             sigev_signo;    /* signal number */
+       union sigval    sigev_value;    /* user-defined signal value */
+       void                    (*sigev_notify_function)(union sigval);
+                                                                       /* 
notification function in case of
+                                                                          
SIGEV_THREAD */
+       pthread_attr_t* sigev_notify_attributes;
+                                                                       /* 
pthread creation attributes in case of
+                                                                          
SIGEV_THREAD */
+};
+
+typedef struct __siginfo_t {
+       int                             si_signo;       /* signal number */
+       int                             si_code;        /* signal code */
+       int                             si_errno;       /* if non zero, an 
error number associated with
+                                                                  this signal 
*/
+       pid_t                   si_pid;         /* sending process ID */
+       uid_t                   si_uid;         /* real user ID of sending 
process */
+       void*                   si_addr;        /* address of faulting 
instruction */
+       int                             si_status;      /* exit value or signal 
*/
+       long                    si_band;        /* band event for SIGPOLL */
+       union sigval    si_value;       /* signal value */
 } siginfo_t;
-#endif /* 0 */
 
-/*
- * structure used by sigaction()
- *
- * Note: the 'sa_userdata' field is a non-POSIX extension.
- * See the documentation for more info on this.
- */
+
+/* signal handler function types */
+typedef void (*__sighandler_t)(int);
+typedef void  (*__siginfo_handler_t)(int, siginfo_t*, void*);
+
+#ifdef __USE_GNU
+typedef __sighandler_t sighandler_t;
+       /* GNU-like signal handler typedef */
+#endif
+
+
+/* structure used by sigaction() */
 struct sigaction {
-       sighandler_t sa_handler;
-       sigset_t        sa_mask;
-       int                     sa_flags;
-       void            *sa_userdata;  /* will be passed to the signal handler 
*/
+       union {
+               __sighandler_t          sa_handler;
+               __siginfo_handler_t     sa_sigaction;
+       };
+       sigset_t                                sa_mask;
+       int                                             sa_flags;
+       void*                                   sa_userdata;    /* will be 
passed to the signal
+                                                                               
           handler, BeOS extension */
 };
 
 /* values for sa_flags */
@@ -61,7 +86,7 @@
 #define SA_NODEFER             0x08
 #define SA_RESTART             0x10
 #define SA_ONSTACK             0x20
-/* #define SA_SIGINFO          0x40 */
+#define SA_SIGINFO             0x40
 #define SA_NOMASK              SA_NODEFER
 #define SA_STACK               SA_ONSTACK
 #define SA_ONESHOT             SA_RESETHAND
@@ -73,20 +98,13 @@
 #define MINSIGSTKSZ            4096
 #define SIGSTKSZ               16384
 
-/*
- * for signals using an alternate stack
- */
+/* for signals using an alternate stack */
 typedef struct stack_t {
-       void    *ss_sp;
+       void*   ss_sp;
        size_t  ss_size;
        int             ss_flags;
 } stack_t;
 
-typedef struct sigstack {
-       int     ss_onstack;
-       void    *ss_sp;
-} sigstack;
-
 /* for the 'how' arg of sigprocmask() */
 #define SIG_BLOCK              1
 #define SIG_UNBLOCK            2
@@ -99,91 +117,166 @@
  * some consistency with UN*X conventions so that things
  * like "kill -9" do what you expect.
  */
-#define        SIGHUP          1       /* hangup -- tty is gone! */
-#define SIGINT         2       /* interrupt */
-#define SIGQUIT                3       /* `quit' special character typed in 
tty  */
-#define SIGILL         4       /* illegal instruction */
-#define SIGCHLD                5       /* child process exited */
-#define SIGABRT                6       /* abort() called, dont' catch */
-#define SIGPIPE                7       /* write to a pipe w/no readers */
-#define SIGFPE         8       /* floating point exception */
-#define SIGKILL                9       /* kill a team (not catchable) */
-#define SIGSTOP                10      /* suspend a thread (not catchable) */
-#define SIGSEGV                11      /* segmentation violation (read: 
invalid pointer) */
-#define SIGCONT                12      /* continue execution if suspended */
-#define SIGTSTP                13      /* `stop' special character typed in 
tty */
-#define SIGALRM                14      /* an alarm has gone off (see alarm()) 
*/
-#define SIGTERM                15      /* termination requested */
-#define SIGTTIN                16      /* read of tty from bg process */
-#define SIGTTOU                17      /* write to tty from bg process */
-#define SIGUSR1                18      /* app defined signal 1 */
-#define SIGUSR2                19      /* app defined signal 2 */
-#define SIGWINCH       20      /* tty window size changed */
-#define SIGKILLTHR     21      /* be specific: kill just the thread, not team 
*/
-#define SIGTRAP                22      /* Trace/breakpoint trap */
-#define SIGPOLL                23      /* Pollable event */
-#define SIGPROF                24      /* Profiling timer expired */
-#define SIGSYS         25      /* Bad system call */
-#define SIGURG         26      /* High bandwidth data is available at socket */
-#define SIGVTALRM      27      /* Virtual timer expired */
-#define SIGXCPU                28      /* CPU time limit exceeded */
-#define SIGXFSZ                29      /* File size limit exceeded */
+#define        SIGHUP                  1       /* hangup -- tty is gone! */
+#define SIGINT                 2       /* interrupt */
+#define SIGQUIT                        3       /* `quit' special character 
typed in tty  */
+#define SIGILL                 4       /* illegal instruction */
+#define SIGCHLD                        5       /* child process exited */
+#define SIGABRT                        6       /* abort() called, dont' catch 
*/
+#define SIGPIPE                        7       /* write to a pipe w/no readers 
*/
+#define SIGFPE                 8       /* floating point exception */
+#define SIGKILL                        9       /* kill a team (not catchable) 
*/
+#define SIGSTOP                        10      /* suspend a thread (not 
catchable) */
+#define SIGSEGV                        11      /* segmentation violation 
(read: invalid pointer) */
+#define SIGCONT                        12      /* continue execution if 
suspended */
+#define SIGTSTP                        13      /* `stop' special character 
typed in tty */
+#define SIGALRM                        14      /* an alarm has gone off (see 
alarm()) */
+#define SIGTERM                        15      /* termination requested */
+#define SIGTTIN                        16      /* read of tty from bg process 
*/
+#define SIGTTOU                        17      /* write to tty from bg process 
*/
+#define SIGUSR1                        18      /* app defined signal 1 */
+#define SIGUSR2                        19      /* app defined signal 2 */
+#define SIGWINCH               20      /* tty window size changed */
+#define SIGKILLTHR             21      /* be specific: kill just the thread, 
not team */
+#define SIGTRAP                        22      /* Trace/breakpoint trap */
+#define SIGPOLL                        23      /* Pollable event */
+#define SIGPROF                        24      /* Profiling timer expired */
+#define SIGSYS                 25      /* Bad system call */
+#define SIGURG                 26      /* High bandwidth data is available at 
socket */
+#define SIGVTALRM              27      /* Virtual timer expired */
+#define SIGXCPU                        28      /* CPU time limit exceeded */
+#define SIGXFSZ                        29      /* File size limit exceeded */
+#define SIGBUS                 30      /* access to undefined portion of a 
memory object */
+#define SIGRESERVED1   31      /* reserved for future use */
+#define SIGRESERVED2   32      /* reserved for future use */
 
-#define SIGBUS         SIGSEGV /* for old style code */
+#define SIGRTMIN               (__signal_get_sigrtmin())
+                                                       /* lowest realtime 
signal number */
+#define SIGRTMAX               (__signal_get_sigrtmax())
+                                                       /* greatest realtime 
signal number */
 
-/*
- * Signal numbers 30-32 are currently free but may be used in future
- * releases.  Use them at your own peril (if you do use them, at least
- * be smart and use them backwards from signal 32).
- */
-#define MAX_SIGNO              32      /* the most signals that a single 
thread can reference */
-#define __signal_max   29      /* the largest signal number that is actually 
defined */
-#define NSIG                   (__signal_max+1)
-       /* the number of defined signals */
+#define __MAX_SIGNO            64      /* greatest possible signal number, can 
be used (+1)
+                                                          as size of static 
arrays */
+#define NSIG                   (__MAX_SIGNO + 1)
+                                                       /* BSD extension, size 
of the sys_siglist table,
+                                                          obsolete */
 
 
+/* Signal code values appropriate for siginfo_t::si_code: */
+/* any signal */
+#define SI_USER                        0       /* signal sent by user */
+#define SI_QUEUE               1       /* signal sent by sigqueue() */
+#define SI_TIMER               2       /* signal sent on timer_settime() 
timeout */
+#define SI_ASYNCIO             3       /* signal sent on asynchronous I/O 
completion */
+#define SI_MESGQ               4       /* signal sent on arrival of message on 
empty
+                                                          message queue */
+/* SIGILL */
+#define ILL_ILLOPC             10      /* illegal opcode */
+#define ILL_ILLOPN             11      /* illegal operand */
+#define ILL_ILLADR             12      /* illegal addressing mode */
+#define ILL_ILLTRP             13      /* illegal trap */
+#define ILL_PRVOPC             14      /* privileged opcode */
+#define ILL_PRVREG             15      /* privileged register */
+#define ILL_COPROC             16      /* coprocessor error */
+#define ILL_BADSTK             17      /* internal stack error */
+/* SIGFPE */
+#define FPE_INTDIV             20      /* integer division by zero */
+#define FPE_INTOVF             21      /* integer overflow */
+#define FPE_FLTDIV             22      /* floating-point division by zero */
+#define FPE_FLTOVF             23      /* floating-point overflow */
+#define FPE_FLTUND             24      /* floating-point underflow */
+#define FPE_FLTRES             25      /* floating-point inexact result */
+#define FPE_FLTINV             26      /* invalid floating-point operation */
+#define FPE_FLTSUB             27      /* subscript out of range */
+/* SIGSEGV */
+#define SEGV_MAPERR            30      /* address not mapped to object */
+#define SEGV_ACCERR            31      /* invalid permissions for mapped 
object */
+/* SIGBUS */
+#define BUS_ADRALN             40      /* invalid address alignment */
+#define BUS_ADRERR             41      /* nonexistent physical address */
+#define BUS_OBJERR             42      /* object-specific hardware error */
+/* SIGTRAP */
+#define TRAP_BRKPT             50      /* process breakpoint */
+#define TRAP_TRACE             51      /* process trace trap. */
+/* SIGCHLD */
+#define CLD_EXITED             60      /* child exited */
+#define CLD_KILLED             61      /* child terminated abnormally without 
core dump */
+#define CLD_DUMPED             62      /* child terminated abnormally with 
core dump */
+#define CLD_TRAPPED            63      /* traced child trapped */
+#define CLD_STOPPED            64      /* child stopped */
+#define CLD_CONTINUED  65      /* stopped child continued */
+/* SIGPOLL */
+#define POLL_IN                        70      /* input available */
+#define POLL_OUT               71      /* output available */
+#define POLL_MSG               72      /* input message available */
+#define POLL_ERR               73      /* I/O error */
+#define POLL_PRI               74      /* high priority input available */
+#define POLL_HUP               75      /* device disconnected */
+
+
 /* the global table of text strings containing descriptions for each signal */
-extern const char * const sys_siglist[NSIG];
+extern const char* const sys_siglist[NSIG];
+       /* BSD extension, obsolete, use strsignal() instead */
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-sighandler_t signal(int sig, sighandler_t signalHandler);
-sighandler_t sigset(int sig, sighandler_t signalHandler);
-int     raise(int sig);
-int     kill(pid_t pid, int sig);
-int     send_signal(pid_t tid, unsigned int sig);
-int            killpg(pid_t processGroupID, int sig);
 
-int     sigaction(int sig, const struct sigaction *act, struct sigaction 
*oact);
-int            siginterrupt(int sig, int flag);
-int     sigprocmask(int how, const sigset_t *set, sigset_t *oset);
-int     sigpending(sigset_t *set);
-int     sigsuspend(const sigset_t *mask);
-int    sigwait(const sigset_t *set, int *sig);
+/* signal management (actions and block masks) */
+__sighandler_t signal(int signal, __sighandler_t signalHandler);
+int     sigaction(int signal, const struct sigaction* action,
+                       struct sigaction* oldAction);
+__sighandler_t sigset(int signal, __sighandler_t signalHandler);
+int            sigignore(int signal);
+int            siginterrupt(int signal, int flag);
 
-int     sigemptyset(sigset_t *set);
-int     sigfillset(sigset_t *set);
-int    sigaddset(sigset_t *set, int signo);
-int    sigdelset(sigset_t *set, int signo);
-int    sigismember(const sigset_t *set, int signo);
-int            sigignore(int signo);
-int            sighold(int signo);
-int            sigrelse(int signo);
-int            sigpause(int signo);
+int     sigprocmask(int how, const sigset_t* set, sigset_t* oldSet);
+int            pthread_sigmask(int how, const sigset_t* set, sigset_t* oldSet);
+int            sighold(int signal);
+int            sigrelse(int signal);
 
-void   set_signal_stack(void *ptr, size_t size);
-int            sigaltstack(const stack_t *ss, stack_t *oss);
+/* sending signals */
+int     raise(int signal);
+int     kill(pid_t pid, int signal);
+int            killpg(pid_t processGroupID, int signal);
+int            sigqueue(pid_t pid, int signal, const union sigval userValue);
+int            pthread_kill(pthread_t thread, int signal);
 
-/* pthread extension : equivalent of sigprocmask()  */
-int            pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
+/* querying and waiting for signals */
+int     sigpending(sigset_t* set);
+int     sigsuspend(const sigset_t* mask);
+int            sigpause(int signal);
+int    sigwait(const sigset_t* set, int* _signal);
+int            sigwaitinfo(const sigset_t* set, siginfo_t* info);
+int            sigtimedwait(const sigset_t* set, siginfo_t* info,
+           const struct timespec* timeout);
 
+/* setting the per-thread signal stack */
+int            sigaltstack(const stack_t* stack, stack_t* oldStack);
+
+/* signal set (sigset_t) manipulation */
+int     sigemptyset(sigset_t* set);
+int     sigfillset(sigset_t* set);
+int    sigaddset(sigset_t* set, int signal);
+int    sigdelset(sigset_t* set, int signal);
+int    sigismember(const sigset_t* set, int signal);
+
+/* printing signal names */
+void   psiginfo(const siginfo_t* info, const char* message);
+void   psignal(int signal, const char* message);
+
+/* implementation private */
+int            __signal_get_sigrtmin();
+int            __signal_get_sigrtmax();
+
+
 #ifdef __cplusplus
 }
 #endif
 
+
 /* TODO: move this into the documentation!
  * ==================================================
  * !!! SPECIAL NOTES CONCERNING NON-POSIX EXTENSIONS:
@@ -205,7 +298,7 @@
  * handling. It also allows an opportunity, via the 'sigaction' struct, to
  * enable additional data to be passed to the handler. For example:
  *    void
- *    my_signal_handler(int sig, char *userData, vregs regs)
+ *    my_signal_handler(int sig, char* userData, vregs* regs)
  *    {
  *    . . .
  *    }
@@ -213,7 +306,7 @@
  *    struct sigaction sa;
  *    char data_buffer[32];
  *
- *    sa.sa_handler = (sighandler_t)my_signal_handler;
+ *    sa.sa_handler = (__sighandler_t)my_signal_handler;
  *    sigemptyset(&sa.sa_mask);
  *    sa.sa_userdata = userData;
  *
@@ -223,8 +316,9 @@
  * The two additional arguments available to the signal handler are extensions
  * to the Posix standard. This feature was introduced by the BeOS and retained
  * by Haiku. However, to remain compatible with Posix and ANSI C, the type
- * of the sa_handler field is defined as 'sighandler_t'. This requires the 
handler
- * to be cast when assigned to the sa_handler field, as in the example above.
+ * of the sa_handler field is defined as '__sighandler_t'. This requires the
+ * handler to be cast when assigned to the sa_handler field, as in the example
+ * above.
  *
  * The 3 arguments that Haiku provides to signal handlers are as follows:
  * 1) The first argument is the (usual) signal number.
@@ -234,10 +328,14 @@
  *
  * 3) The third argument is a pointer to a vregs struct (defined below).
  *    The vregs struct contains the contents of the volatile registers at
- *    the time the signal was delivered to your thread. You can change the 
fields
- *    of the structure. After your signal handler completes, the OS uses this 
struct
- *    to reload the registers for your thread (privileged registers are not 
loaded
- *    of course). The vregs struct is of course terribly machine dependent.
+ *    the time the signal was delivered to your thread. You can change the
+ *    fields of the structure. After your signal handler completes, the OS uses
+ *    this struct to reload the registers for your thread (privileged registers
+ *    are not loaded of course). The vregs struct is of course terribly machine
+ *    dependent.
+ *    Note that in BeOS the vregs argument was passed by value, not by pointer.
+ *    While Haiku retains binary compability with code compiled for BeOS, code
+ *    built under Haiku must use the pointer argument.
  */
 
 /*
@@ -245,11 +343,22 @@
  *
  * signal handlers get this as the last argument
  */
-
 typedef struct vregs vregs;
+       /* BeOS extension */
 
+
 /* include architecture specific definitions */
 #include __HAIKU_ARCH_HEADER(signal.h)
 
 
+typedef struct vregs mcontext_t;
+
+typedef struct __ucontext_t {
+       struct __ucontext_t*    uc_link;
+       sigset_t                                uc_sigmask;
+       stack_t                                 uc_stack;
+       mcontext_t                              uc_mcontext;
+} ucontext_t;
+
+
 #endif /* _SIGNAL_H_ */

Modified: 
haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/types.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/types.h   
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/types.h   
2011-06-11 22:32:34 UTC (rev 42110)
@@ -52,6 +52,70 @@
 typedef __haiku_addr_t         addr_t;
 typedef __haiku_int32          key_t;
 
+typedef __haiku_std_int32      clockid_t;
+typedef struct __timer_t*      timer_t;
+
+
+/* pthread types */
+
+typedef struct _pthread_thread         *pthread_t;
+typedef struct  _pthread_attr          *pthread_attr_t;
+typedef struct  _pthread_mutex         pthread_mutex_t;
+typedef struct  _pthread_mutexattr     *pthread_mutexattr_t;
+typedef struct  _pthread_cond          pthread_cond_t;
+typedef struct  _pthread_condattr      *pthread_condattr_t;
+typedef int                                                    pthread_key_t;
+typedef struct  _pthread_once          pthread_once_t;
+typedef struct  _pthread_rwlock                pthread_rwlock_t;
+typedef struct  _pthread_rwlockattr    *pthread_rwlockattr_t;
+typedef struct  _pthread_spinlock      pthread_spinlock_t;
+/*
+typedef struct  _pthread_barrier       *pthread_barrier_t;
+typedef struct  _pthread_barrierattr *pthread_barrierattr_t;
+*/
+
+struct _pthread_mutex {
+       __haiku_std_uint32      flags;
+       __haiku_std_int32       lock;
+       __haiku_std_int32       unused;
+       __haiku_std_int32       owner;
+       __haiku_std_int32       owner_count;
+};
+
+struct _pthread_cond {
+       __haiku_std_uint32      flags;
+       __haiku_std_int32       unused;
+       pthread_mutex_t*        mutex;
+       __haiku_std_int32       waiter_count;
+       __haiku_std_int32       lock;
+};
+
+struct _pthread_once {
+       __haiku_std_int32       state;
+};
+
+struct _pthread_rwlock {
+       __haiku_std_uint32      flags;
+       __haiku_std_int32       owner;
+       union {
+               struct {
+                       __haiku_std_int32       sem;
+               } shared;
+               struct {
+                       __haiku_std_int32       lock_sem;
+                       __haiku_std_int32       lock_count;
+                       __haiku_std_int32       reader_count;
+                       __haiku_std_int32       writer_count;
+                       void*                           waiters[2];
+               } local;
+       };
+};
+
+struct _pthread_spinlock {
+       __haiku_std_int32               lock;
+};
+
+
 #include <null.h>
 #include <size_t.h>
 #include <time.h>

Modified: 
haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/wait.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/wait.h    
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/sys/wait.h    
2011-06-11 22:32:34 UTC (rev 42110)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004-2010 Haiku Inc. All Rights Reserved.
+ * Copyright 2004-2011, Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef _SYS_WAIT_H
@@ -28,16 +28,12 @@
 #define WIFCORED(value)                ((value) & 0x10000)
 #define WIFCONTINUED(value)    ((value) & 0x20000)
 
-/* TODO: waitid() is part of the real-time signal extension. Uncomment when
- * implemented! */
-#if 0
 /* ID types for waitid() */
 typedef enum {
        P_ALL,          /* wait for any children, ignore ID */
        P_PID,          /* wait for the child whose process ID matches */
        P_PGID          /* wait for any child whose process group ID matches */
 } idtype_t;
-#endif /* 0 */
 
 
 #ifdef __cplusplus
@@ -46,7 +42,7 @@
 
 extern pid_t wait(int *_status);
 extern pid_t waitpid(pid_t pid, int *_status, int options);
-/* extern int waitid(idtype_t idType, id_t id, siginfo_t *info, int options); 
*/
+extern int waitid(idtype_t idType, id_t id, siginfo_t *info, int options);
 
 #ifdef __cplusplus
 }

Modified: haiku/branches/developer/bonefish/signals-merge/headers/posix/time.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/time.h        
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/time.h        
2011-06-11 22:32:34 UTC (rev 42110)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005-2010 Haiku Inc. All Rights Reserved.
+ * Copyright 2005-2011, Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef _TIME_H_
@@ -9,17 +9,33 @@
 #include <sys/types.h>
 
 
+struct sigevent;       /* defined in <signal.h> */
+
+
 typedef __haiku_int32 clock_t;
 typedef __haiku_int32 time_t;
 typedef __haiku_int32 suseconds_t;
 typedef __haiku_uint32 useconds_t;
 
-#define CLOCKS_PER_SEC 1000
+
+#define CLOCKS_PER_SEC 1000000
 #define CLK_TCK                        CLOCKS_PER_SEC
 
 #define MAX_TIMESTR            70
        /* maximum length of a string returned by asctime(), and ctime() */
 
+#define CLOCK_MONOTONIC                                ((clockid_t)0)
+       /* system-wide monotonic clock (aka system time) */
+#define CLOCK_REALTIME                         ((clockid_t)-1)
+       /* system-wide real time clock */
+#define CLOCK_PROCESS_CPUTIME_ID       ((clockid_t)-2)
+       /* clock measuring the used CPU time of the current process */
+#define CLOCK_THREAD_CPUTIME_ID                ((clockid_t)-3)
+       /* clock measuring the used CPU time of the current thread */
+
+#define TIMER_ABSTIME                          1       /* absolute timer flag 
*/
+
+
 struct timespec {
        time_t  tv_sec;         /* seconds */
        long    tv_nsec;        /* and nanoseconds */
@@ -72,6 +88,23 @@
                                                const struct tm *tm);
 extern char            *strptime(const char *buf, const char *format, struct 
tm *tm);
 
+/* clock functions */
+int            clock_getres(clockid_t clockID, struct timespec* resolution);
+int            clock_gettime(clockid_t clockID, struct timespec* time);
+int            clock_settime(clockid_t clockID, const struct timespec* time);
+int            clock_nanosleep(clockid_t clockID, int flags,
+                       const struct timespec* time, struct timespec* 
remainingTime);
+int            clock_getcpuclockid(pid_t pid, clockid_t* _clockID);
+
+/* timer functions */
+int            timer_create(clockid_t clockID, struct sigevent* event,
+                       timer_t* timerID);
+int            timer_delete(timer_t timerID);
+int            timer_gettime(timer_t timerID, struct itimerspec* value);
+int            timer_settime(timer_t timerID, int flags,
+                       const struct itimerspec* value, struct itimerspec* 
oldValue);
+int            timer_getoverrun(timer_t timerID);
+
 /* special timezone support */
 extern void tzset(void);
 

Modified: haiku/branches/developer/bonefish/signals-merge/headers/posix/unistd.h
===================================================================
--- haiku/branches/developer/bonefish/signals-merge/headers/posix/unistd.h      
2011-06-11 22:27:25 UTC (rev 42109)
+++ haiku/branches/developer/bonefish/signals-merge/headers/posix/unistd.h      
2011-06-11 22:32:34 UTC (rev 42110)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004-2010 Haiku Inc. All Rights Reserved.
+ * Copyright 2004-2011 Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef _UNISTD_H_
@@ -45,10 +45,14 @@
 #define _POSIX_THREAD_ATTR_STACKADDR           (-1)    /* currently 
unsupported */
 #define _POSIX_THREAD_ATTR_STACKSIZE           (200809L)
 #define _POSIX_THREAD_PRIORITY_SCHEDULING      (-1)    /* currently 
unsupported */
-#define _POSIX_REALTIME_SIGNALS                                (-1)    /* 
currently unsupported */
+#define _POSIX_REALTIME_SIGNALS                                (200809L)
 #define _POSIX_MEMORY_PROTECTION                       (200809L)
-#define _POSIX_SEM_VALUE_MAX                           INT_MAX
+#define _POSIX_MONOTONIC_CLOCK                         (200809L)
+#define _POSIX_TIMERS                                          (200809L)
+#define _POSIX_CPUTIME                                         (200809L)
+#define _POSIX_THREAD_CPUTIME                          (200809L)
 
+
 /* pathconf() constants */
 /* BeOS supported values, do not touch */
 #define _PC_CHOWN_RESTRICTED   1
@@ -119,6 +123,14 @@
 #define _SC_THREAD_PRIORITY_SCHEDULING 50
 #define _SC_REALTIME_SIGNALS                   51
 #define        _SC_MEMORY_PROTECTION                   52
+#define _SC_SIGQUEUE_MAX                               53

[... truncated: 29024 lines follow ...]

Other related posts:

  • » [haiku-commits] r42110 - in haiku/branches/developer/bonefish/signals-merge: . build/jam headers/libs/freetype2 headers/libs/png headers/libs/tiff ... - ingo_weinhold