Lines Matching +full:acquisition +full:- +full:time
50 The library is tightly integrated with the run-time link editor
51 .Xr ld-elf.so.1 1
62 The run-time linker
63 .Xr ld-elf.so.1 1
64 has some code to ensure backward-compatibility with older versions of
70 .Li -lpthread ,
71 the run-time dependency
74 .Sh MUTEX ACQUISITION
82 performs a contested mutex acquisition in three stages, each of which
83 is more resource-consuming than the previous.
103 acquisition attempts as the spin loop,
104 but each attempt is followed by a yield of the CPU time
122 Each thread is provided with a private user-mode stack area
140 kernel for the initial process stack is used for non-initial thread stacks
146 it is kept for backward-compatibility.
148 The size of stacks for threads created by the process at run-time
160 non-initial thread stack size is 2MB for 64bit architectures, and 1MB
162 .Sh RUN-TIME SETTINGS
165 and adjust the operation of the library at run-time:
166 .Bl -tag -width "Ev LIBPTHREAD_SPLITSTACK_MAIN"
182 of the mutex acquisition.
189 A non-zero integer value enables the yield loop
190 in the process of the mutex acquisition.
198 The minimal amount of time, in nanoseconds, the thread is required to sleep
208 .Bl -tag -width "Dv debug.umtx.robust_faults_verbose"
234 .Sh INTERACTION WITH RUN-TIME LINKER
240 stubs for single-threaded processes in
253 The implementation interposes the user-installed
257 entered (libthr-internal) critical sections, where the calling
258 of the user-provided signal handler is unsafe.
266 .Sh PROCESS-SHARED SYNCHRONIZATION OBJECTS
270 user-visible types for all synchronization objects (e.g. pthread_mutex_t)
275 The initial implementation of process-private locking object used this
276 model with internal allocation, and the addition of process-shared objects
279 For process-private objects, the internal structure is allocated using
290 The same allocator is used for thread-specific data, see
294 For process-shared objects, the internal structure is created by first
305 .Bd -literal
306 only the process-shared synchronization object itself can be used for
314 implementation, process-shared objects require initialization
317 a process-shared object already initialized in different process, locking
322 Note that processes should not use non-async-signal safe functions after
327 .Xr ld-elf.so.1 1 ,
351 .An -nosplit