Lines Matching refs:and

5 # Common Development and Distribution License (the "License").
11 # and limitations under the License.
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
31 folded libthread into libc and has led to some fundamental changes
32 in the rules by which code in libc must be developed and maintained.
34 All code in libc must be both MT-Safe and Fork-Safe
35 and where possible (almost everywhere), Async-Signal-Safe.
39 Almost all internal libc locks (mutexes and read-write locks)
40 should be acquired and released via these interfaces:
58 The above l* versions of the mutex and rwlock interfaces do more
61 fork-safe) and in which the calling thread has all signals deferred
68 This means no calls into stdio or syslog() and no calls
78 including application callbacks and functions from
81 - Because malloc(), calloc(), realloc(), and free()
87 It cannot be interposed upon and it is safe to use while in
89 region; it is async-signal-safe and fork-safe):
99 lmalloc() and lfree() are the basic interfaces. The libc_*()
102 without the 'libc_' prefix. lmalloc() and libc_malloc()
105 to lmalloc() and to pass the same value to lfree().
112 lmalloc()/lfree() is a small and simple power of two allocator.
123 calls to fork() and forkall(), but it also serializes calls to
124 thr_suspend() (fork() and forkall() also suspend other threads),
125 and furthermore it serializes I18N calls to functions in other
140 to 1 or 2 in the environment, such cases will draw a nasty message and
166 releasing point, libc_malloc and libc_free should be used.
169 to be released by lfree or libc_free and these are internal
173 * If the memory allocation by malloc() cannot be avoided and
178 * If the memory allocation by malloc() cannot be avoided and
191 6416832 libaio and librt can and should be folded into libc
198 which are declared in both "thr_uberdata.h" and "mtlib.h".
201 Unlike the lmutex_lock() and lmutex_unlock() interfaces described above,
205 and free() are permissible while holding such locks.
208 and librt and are necessary because, where they are used, the code
209 must execute potentially long-term waits and must be cancelable.
210 sig_cond_wait() and sig_cond_reltimedwait() are cancellation points.
215 - Don't mix calls to mutex_[un]lock(), lmutex_[un]lock() and
219 - Use pthread_cleanup_push() and pthread_cleanup_pop() to make
241 would call _open() and an application defined open() would not cause fopen()
246 marked "NODIRECT" are directly bound within libc anyway, and none of this is
247 actually necessary. Thus synonyms.h was removed, and no new synonym symbols
249 inadvertently exposed to applications, and several are known to have been
264 to be accepting of interposition and to have a consistent version called both
265 within and without libc (basically, the malloc() family).
267 This causes references by libc to itself to be permanently and unavoidably
268 bound, and thus to never enter ld.so (and potentially from there audit
274 to remember, and thus always at least somewhat incomplete.