Lines Matching +full:shared +full:- +full:memory
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
67 the attributes of the memory mapping which contains the first byte of
70 Otherwise, if the flag is not specified, the process-private sleep queue
71 is selected regardless of the memory mapping attributes, as an optimization.
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
323 .Bl -tag -width indent
328 .Bd -literal
360 are shared with the
372 .Bl -tag -width indent
390 which is a non-runnable state terminated by the
412 .Em process-shared
418 the memory is shared.
424 regardless of the kind of backing memory.
433 on a little-endian 64-bit platform would collide.
457 The lists are singly-linked.
465 .Bl -dash -offset indent -compact
480 read of the umutex memory faults
517 .Bl -tag -width indent
521 .Bl -tag -width "obj"
545 The physical address of memory where the
553 and release memory semantics, if the
570 .Bl -tag -width "obj"
584 .Bl -tag -width "obj"
597 .Bl -tag -width "obj"
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
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
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"
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"
1065 bit may then modify freed memory.
1069 .Bl -tag -width "obj"
1087 If the mutex memory cannot be accessed, all waiters are woken up.
1099 .Bl -tag -width "obj"
1104 Size of the memory passed in via the
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"
1166 shared memory objects (see
1168 which can be attached to a byte of physical memory, mapped into the
1170 The objects are used to implement process-shared locks in
1175 argument specifies the sub-request of the
1178 .Bl -tag -width indent
1180 Creates the anonymous shared memory object, which can be looked up
1190 or for other shared memory operations.
1194 request, but if there is no shared memory object associated with
1199 De-associate the shared object with the specified key
1204 Checks whether there is a live shared object associated with the
1218 argument specifies the virtual address, which backing physical memory
1219 byte identity is used as a key for the anonymous shared object
1224 .Bl -tag -width "uaddr"
1235 .Bd -literal
1246 robust shared mutexes.
1251 The private and shared robust locked lists are split to allow fast
1252 termination of the shared list on fork, in the child.
1259 around the whole operation, since lists can be only changed race-free
1263 in addition to walking the shared and private lists.
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
1371 return a shared memory file descriptor on success.
1372 On error \-1 is returned, and the
1379 .Bl -tag -width "[ETIMEDOUT]"
1381 One of the arguments point to invalid memory.
1451 The shared memory object, associated with the address passed to the
1453 sub-request of
1462 sub-requests of the
1464 request, there is no shared memory object associated with the provided key.
1468 sub-request of the
1470 request cannot be satisfied, because allocation of the shared memory object
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
1527 freed or reused memory.
1531 a shared mutex.
1533 for shared mutexes before terminating them, in particular, verifying
1534 that the mutex memory is mapped from a shared memory object allocated