#
1b41be04 |
| 26-May-2021 |
X512 <danger_mail@list.ru> |
libroot: convert pthread_spinlock to C++
Change-Id: Ic65b624d343c2cdb4bbb138c94c0ea2f01f27139 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4006 Reviewed-by: Adrien Destugues <pulkomandy@gmail.
libroot: convert pthread_spinlock to C++
Change-Id: Ic65b624d343c2cdb4bbb138c94c0ea2f01f27139 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4006 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
show more ...
|
#
0e0f49e7 |
| 27-Dec-2016 |
Dmytro Shynkevych <dm.shynk@gmail.com> |
libroot: Implemented pthread barriers
This is an implementation of pthread barriers pursuant to the relevant specification.
Barriers are essentially a special case of conditional variables, such th
libroot: Implemented pthread barriers
This is an implementation of pthread barriers pursuant to the relevant specification.
Barriers are essentially a special case of conditional variables, such that all threads waiting on one are woken up when the number of waiters reaches a number provided at the initialization of the barrier. In view of that, this implementation mimics the implementation of pthread_cond, except it is more specialized and self-contained.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
show more ...
|
#
9f81ca83 |
| 27-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'package-management'
Conflicts: src/preferences/network/Jamfile
|
#
b0944c78 |
| 01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support
* All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel a
More work towards hybrid support
* All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
show more ...
|
#
24df6592 |
| 12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged signals-merge branch into trunk with the following changes: * Reorganized the kernel locking related to threads and teams. * We now discriminate correctly between process and thread signals. S
Merged signals-merge branch into trunk with the following changes: * Reorganized the kernel locking related to threads and teams. * We now discriminate correctly between process and thread signals. Signal handlers have been moved to teams. Fixes #5679. * Implemented real-time signal support, including signal queuing, SA_SIGINFO support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition of the real-time signal range. Closes #1935 and #2695. * Gave SIGBUS a separate signal number. Fixes #6704. * Implemented <time.h> clock and timer support, and fixed/completed alarm() and [set]itimer(). Closes #5682. * Implemented support for thread cancellation. Closes #5686. * Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554. * Lots over smaller more or less related changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
ef1716f8 |
| 17-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Lucian Adrian Grijincu: Added pthread spinlock support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36333 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7127458 |
| 15-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Private libroot locking primitives: - Reimplemented mutex to use the _kern_mutex*() syscalls. - The initializer functions cannot fail anymore -- changed their return type to void. - Chang
* Private libroot locking primitives: - Reimplemented mutex to use the _kern_mutex*() syscalls. - The initializer functions cannot fail anymore -- changed their return type to void. - Changed the initializer function semantics to not copy the name by default anymore (as in the kernel). Also added *_etc() versions of them that take an additional flags. - Added static initializer macros. - Made the mutex (and thus recursive_lock) lock functions non-interruptable. - Got rid of the "lazy" version. They are no longer needed, since the initialization of the standard types can be done statically and cannot fail. * Adjusted libroot, runtime loader, and other code using the private libroot locking primitives to the new semantics. * pthreads mutexes and condition variables: - Reimplemented using the _kern_mutex*() syscalls. - Consistently use POSIX error codes. - Fixed some not quite POSIX compliant behavior.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36323 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
6b202f4e |
| 14-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new l
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
3ca1072d |
| 13-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Reimplemented pthread_once. The old one was neither thread-safe nor particularly efficient. * pthread_mutex implementation: - Removed the pthread_mutex_t indirection (the type was a pointer to
* Reimplemented pthread_once. The old one was neither thread-safe nor particularly efficient. * pthread_mutex implementation: - Removed the pthread_mutex_t indirection (the type was a pointer to the actual structure which was allocated on the heap), as it made sharing the mutex between processes impossible. - Removed the distinction between process shared and non-shared mutexes. Benaphores work just as well in shared memory, so we always use them. * Fixed some static initializer macros. PTHREAD_COND_INITIALIZER is still broken, since it doesn't work in C code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25481 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
370602bf |
| 12-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added pthread rwlock support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25470 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7cc12b3 |
| 09-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented pthread_attr_{g,s}etstacksize(). Also added commented-out prototypes for the missing pthread_attr_*() functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25390 a95241bf-73f2-
Implemented pthread_attr_{g,s}etstacksize(). Also added commented-out prototypes for the missing pthread_attr_*() functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25390 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
f127ebfd |
| 17-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Replaced the previous pthread_key implementation with a lockless one that does not rely on the Be API TLS anymore, and is also more compliant with respect to the lifespan of the key specific va
* Replaced the previous pthread_key implementation with a lockless one that does not rely on the Be API TLS anymore, and is also more compliant with respect to the lifespan of the key specific values. * It supports up to 256 different keys, which is equivalent of the solution that FreeBSD offers. * The main thread now also gets a pthread_thread structure. * Reenabled the POSIX suite test pthread_key_delete_2-1 as we now pass it. * This also fixes bug #1642.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25000 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
c80e6107 |
| 31-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added start of an implementation of pthread_cancel(). * Implemented pthread_setcanceltype(), pthread_setcancelstate(), and pthread_testcancel(). * In the previous commit, I also made pthread_priv
* Added start of an implementation of pthread_cancel(). * Implemented pthread_setcanceltype(), pthread_setcancelstate(), and pthread_testcancel(). * In the previous commit, I also made pthread_private.h self-contained.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24710 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
a635399b |
| 31-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Rearranged pthread thread support a bit: there is now a pthread_thread structure that is attached (via TLS) to each pthread. * Implemented support for pthread_cleanup_{push|pop}(). * I haven't re
* Rearranged pthread thread support a bit: there is now a pthread_thread structure that is attached (via TLS) to each pthread. * Implemented support for pthread_cleanup_{push|pop}(). * I haven't really been able to test these changes, yet, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24704 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
d2d67247 |
| 07-Dec-2007 |
Jérôme Duval <korli@users.berlios.de> |
added pthread_once() implementation and tests there is still a TODO on an init race condition
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
550a30a0 |
| 22-Sep-2007 |
Ryan Leavengood <leavengood@gmail.com> |
I needed Pthread condition variables for WebKit, so I implemented them. I have tested this with a simple test program I downloaded from the internet. We get the same result as on Linux, so I think th
I needed Pthread condition variables for WebKit, so I implemented them. I have tested this with a simple test program I downloaded from the internet. We get the same result as on Linux, so I think this is good. I will test it more with WebKit later.
Our Pthreads implementation is still missing some stuff, but this adds a good chunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22274 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
1f11178f |
| 20-Jun-2006 |
Jérôme Duval <korli@users.berlios.de> |
added posix thread specific data functions added a pthread_detach skeleton
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17880 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a23efdfa |
| 20-Jun-2006 |
Jérôme Duval <korli@users.berlios.de> |
added some pthread_* and pthread_attr_* naive functions I mapped pthread_t to thread_id for simplicity
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17879 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
353d20c0 |
| 27-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects.
git-svn-id: file://
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
338b8dc3 |
| 29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
718b5114 |
| 13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
5af32e75 |
| 13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|