Lines Matching +full:termination +full:- +full:current

49 .St -p1003.1-2001
57 All objects require ABI-mandated alignment, but this is not currently
61 .Bl -tag -width indent
63 Allow selection of the process-shared sleep queue for the thread sleep
66 The process-shared or process-private sleep queue is selected based on
70 Otherwise, if the flag is not specified, the process-private sleep queue
77 .Bl -hang -offset indent
79 .Bd -literal
95 .Bl -tag -width indent
104 The robust mutex is in a non-recoverable state.
110 field may contain the following umutex-specific flags, in addition to
112 .Bl -tag -width indent
126 Robust mutex is in a transient non-consistent state.
136 .Pq normal, priority-inherited, and priority-protected
146 .St -p1003.1-2008
161 should contain \-1.
164 .Bd -literal
172 A non-zero
174 value indicates that there are in-kernel waiters for the condition,
195 .Bl -bullet -compact
224 .Bd -literal
241 .Bl -tag -width indent
266 .Bl -tag -width indent
270 is already read-locked, even in presence of unsatisfied write
290 .Bd -literal
300 A non-zero value indicates an unlocked (posted) semaphore, while zero
315 word, returns the current semaphore counter, which is the number of posts
323 .Bl -tag -width indent
328 .Bd -literal
366 The specified clock is used to obtain the current time value.
372 .Bl -tag -width indent
390 which is a non-runnable state terminated by the
412 .Em process-shared
416 Some requests always interpret keys as private for the current process,
417 creating sleep queues with the scope of the current process even if
433 on a little-endian 64-bit platform would collide.
453 On thread termination, the kernel walks two lists of mutexes.
457 The lists are singly-linked.
465 .Bl -dash -offset indent -compact
471 not owned by the current thread, except when the mutex is pointed to
476 registered for the current thread
517 .Bl -tag -width indent
521 .Bl -tag -width "obj"
526 Current value of the
530 The current value of the variable pointed to by the
549 The read of the current value of the
570 .Bl -tag -width "obj"
584 .Bl -tag -width "obj"
597 .Bl -tag -width "obj"
602 Locking is performed by writing the current thread id into the
612 the lock, the current thread is put to sleep, with
615 Upon wake up, the lock conditions are re-tested.
636 .Bl -tag -width "obj"
673 .Bl -tag -width "uaddr"
708 .Bl -tag -width "uaddr2"
732 argument, is set to an arbitrary non-zero value, after which the
735 the current thread is put to sleep on the sleep queue keyed by
744 sent between mutex unlock and putting the current thread on the sleep queue.
755 .Bl -tag -width "CVWAIT_CLOCKID"
794 .Bl -tag -width "obj"
812 .Bl -tag -width "obj"
833 .Pq a 32-bit integer .
835 Read-lock a
839 .Bl -tag -width "obj"
843 to be read-locked.
849 .Bl -tag -width indent
865 In this case the current thread is put to sleep until it makes sense to
875 the write lock on the same structure does not prevent the current thread
881 the current thread does not attempt to obtain read-lock.
887 Upon wakeup, the locking conditions are re-evaluated.
897 Write-lock a
901 .Bl -tag -width "obj"
905 to be write-locked.
918 by the read-lock counter, the current thread does not attempt to
919 obtain the write-lock.
925 Upon wakeup, the locking conditions are re-evaluated.
937 .Bl -tag -width "obj"
945 current lock state.
971 but unconditionally select the process-private sleep queue.
975 but unconditionally select the process-private sleep queue.
979 .Bl -tag -width "obj"
1018 .Bl -tag -width "obj"
1035 .Bl -tag -width "obj"
1069 .Bl -tag -width "obj"
1099 .Bl -tag -width "obj"
1123 indicating the semaphore is available (non-zero count due to post),
1130 A request with non-absolute timeout value is not restartable.
1150 .Bl -tag -width "obj"
1170 The objects are used to implement process-shared locks in
1175 argument specifies the sub-request of the
1178 .Bl -tag -width indent
1199 De-associate the shared object with the specified key
1222 Register the list heads for the current thread's robust mutex lists.
1224 .Bl -tag -width "uaddr"
1235 .Bd -literal
1252 termination of the shared list on fork, in the child.
1259 around the whole operation, since lists can be only changed race-free
1266 is handled more loosely at the thread termination time,
1268 That mutex is allowed to be not owned by the current thread,
1274 Writes out the current value of minimal umtx operations timeout,
1290 .Bl -tag -width indent
1296 .Bl -hang -offset indent
1299 arguments that point to a word, point to a 32-bit integer.
1304 argument is a pointer to an array of 32-bit pointers.
1310 is a 32-bit pointer.
1313 uses a 32-bit time_t.
1320 Request non-i386, 32-bit ABI compatibility from the native
1324 .Bl -hang -offset indent
1327 arguments that point to a word, point to a 32-bit integer.
1332 argument is a pointer to an array of 32-bit pointers.
1338 is a 32-bit pointer.
1341 uses a 64-bit time_t.
1350 Note that if any 32-bit ABI compatibility is being requested, then care must be
1352 A single thread may not mix 32-bit compatible robust lists with native
1364 sub-requests of the
1372 On error \-1 is returned, and the
1379 .Bl -tag -width "[ETIMEDOUT]"
1434 Unlock attempted on an object not owned by the current thread.
1448 value, indicating abandoned robust mutex after termination.
1453 sub-request of
1462 sub-requests of the
1468 sub-request of the
1490 A signal was delivered during wait, for a non-restartable operation.
1491 Operations with timeouts are typically non-restartable, but timeouts
1515 system call is non-standard and is used by the
1518 .St -p1003.1-2001
1532 A possible fix for the current implementation is to strengthen the checks