Go to the documentation of this file.
136 thread->thread_called = 1;
197 char name[] =
"main";
213 #if defined(__APPLE__)
219 expected = 512 * 1024;
220 ASSERT(pthread_get_stacksize_np(pthread_self()) >= expected);
221 #elif defined(__linux__) && defined(__GLIBC__)
226 ASSERT(0 == getrlimit(RLIMIT_STACK, &lim));
227 if (lim.rlim_cur == RLIM_INFINITY)
228 lim.rlim_cur = 2 << 20;
229 ASSERT(0 == pthread_getattr_np(pthread_self(), &
attr));
230 ASSERT(0 == pthread_attr_getstacksize(&
attr, &stack_size));
233 expected = (size_t)lim.rlim_cur;
234 ASSERT(stack_size >= expected);
252 options.stack_size = 1024 * 1024;
257 options.stack_size = 8 * 1024 * 1024;
267 #ifdef PTHREAD_STACK_MIN
268 options.stack_size = PTHREAD_STACK_MIN - 42;
273 options.stack_size = PTHREAD_STACK_MIN / 2 - 42;
static void thread_entry(void *arg)
#define ARRAY_SIZE(array)
static size_t thread_stack_size(void)
static void thread_check_stack(void *arg)
return memset(p, 0, total)
UV_EXTERN int uv_fs_stat(uv_loop_t *loop, uv_fs_t *req, const char *path, uv_fs_cb cb)
@ UV_THREAD_HAS_STACK_SIZE
UV_EXTERN int uv_thread_join(uv_thread_t *tid)
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
#define container_of(ptr, type, member)
UV_EXTERN void uv_key_delete(uv_key_t *key)
static uv_thread_t * threads
static void getaddrinfo_cb(uv_getaddrinfo_t *handle, int status, struct addrinfo *res)
static void fs_do(struct fs_req *req)
UV_EXTERN int uv_loop_close(uv_loop_t *loop)
UV_EXTERN void * uv_key_get(uv_key_t *key)
UV_EXTERN int uv_thread_create_ex(uv_thread_t *tid, const uv_thread_options_t *params, uv_thread_cb entry, void *arg)
static void do_work(void *arg)
UV_EXTERN int uv_loop_init(uv_loop_t *loop)
UV_EXTERN int uv_thread_create(uv_thread_t *tid, uv_thread_cb entry, void *arg)
static void fs_cb(uv_fs_t *handle)
UV_EXTERN void uv_freeaddrinfo(struct addrinfo *ai)
OPENSSL_EXPORT X509_ATTRIBUTE * attr
static uv_thread_t thread_id
UV_EXTERN void uv_key_set(uv_key_t *key, void *value)
UV_EXTERN int uv_getaddrinfo(uv_loop_t *loop, uv_getaddrinfo_t *req, uv_getaddrinfo_cb getaddrinfo_cb, const char *node, const char *service, const struct addrinfo *hints)
UV_EXTERN void uv_fs_req_cleanup(uv_fs_t *req)
static void tls_thread(void *arg)
static void getaddrinfo_do(struct getaddrinfo_req *req)
UV_EXTERN int uv_key_create(uv_key_t *key)
static uv_thread_t thread
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:27