Lines Matching refs:libc

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
39 Almost all internal libc locks (mutexes and read-write locks)
77 - The code cannot call any functions outside of libc,
86 There is a private memory allocator for use internally to libc.
110 memory out of libc if the caller of libc is expected to free it.
148 (that is, while holding any internal libc lock).
150 On return from fork_lock_enter(), no internal libc locks are held
156 - If a function acquires an internal libc lock or is called while
157 an internal libc lock is held:
170 to libc, they cannot be used to allocate memory that might
171 be released by application code outside libc.
182 In a DEBUG build of libc:
185 in the libc sources. This is the default mode for building libc when
188 # libaio/librt Implementation In libc
191 6416832 libaio and librt can and should be folded into libc
192 introduced several libc-private locking interfaces:
200 They are used in specialized code in libc, like the asynchronous i/o code.
212 These interfaces are available for other uses inside libc, as
234 private, symbol of the same value was defined to be used internally by libc
239 otherwise conflicting symbols could interpose on the version in libc without
240 compromising libc itself, that is if libc defines fopen() which needs open() it
242 to break. This was made transparent to code within libc via a header,
246 marked "NODIRECT" are directly bound within libc anyway, and none of this is
255 It should never be necessary to add additional synonym symbols to libc nor to
258 # libc Internals Scoped Protected
261 6689238 libc needs global protection against ld.so.1
263 Scopes all function symbols within libc protected, excepting those that need
265 within and without libc (basically, the malloc() family).
267 This causes references by libc to itself to be permanently and unavoidably
271 lock held, etc) execution can never leave the context of libc. Previously
276 In summary, any new function symbol in libc must be scoped protected unless it