diff options
author | Lukas Larsson <[email protected]> | 2014-12-19 10:53:27 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2014-12-19 10:53:27 +0100 |
commit | 3e3ef7b16fa03a7b9f4e5376387750a69957719f (patch) | |
tree | 40d74a3d6ccd8a4faa5c7194979584fa67517ea1 /erts/emulator/beam/erl_async.c | |
parent | a4d72d2cae3a9bd3f0dccdb663f70d54a45fe10f (diff) | |
parent | bd4b900c09308a6c3ab41e3a2070cb90410ee01d (diff) | |
download | otp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.tar.gz otp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.tar.bz2 otp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.zip |
Merge branch 'lukas/erts/crashdump_improvements/OTP-12377'
* lukas/erts/crashdump_improvements/OTP-12377:
erts: Make main thread safe from pipe closed event
erts: Improve crash dumps
erts: Rename sys_sigset to sys_signal
erts: Introduce thread suspend functions
erts: Remove usage of QUANTIFY signal
erts: Add support for thread names
ets: Increase data available in crash dumps and ets:info
erts: Start compilation of beam_emu earlier
Diffstat (limited to 'erts/emulator/beam/erl_async.c')
-rw-r--r-- | erts/emulator/beam/erl_async.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/erts/emulator/beam/erl_async.c b/erts/emulator/beam/erl_async.c index decae6b2ca..bc06d41720 100644 --- a/erts/emulator/beam/erl_async.c +++ b/erts/emulator/beam/erl_async.c @@ -176,7 +176,7 @@ erts_init_async(void) ErtsThrQInit_t qinit = ERTS_THR_Q_INIT_DEFAULT; #endif erts_thr_opts_t thr_opts = ERTS_THR_OPTS_DEFAULT_INITER; - char *ptr; + char *ptr, thr_name[16]; size_t tot_size = 0; int i; @@ -227,23 +227,16 @@ erts_init_async(void) thr_opts.suggested_stack_size = erts_async_thread_suggested_stack_size; -#ifdef ETHR_HAVE_THREAD_NAMES - thr_opts.name = malloc(sizeof(char)*(strlen("async_XXXX")+1)); -#endif + thr_opts.name = thr_name; for (i = 0; i < erts_async_max_threads; i++) { ErtsAsyncQ *aq = async_q(i); -#ifdef ETHR_HAVE_THREAD_NAMES - sprintf(thr_opts.name, "async_%d", i+1); -#endif + erts_snprintf(thr_opts.name, 16, "async_%d", i+1); erts_thr_create(&aq->thr_id, async_main, (void*) aq, &thr_opts); } -#ifdef ETHR_HAVE_THREAD_NAMES - free(thr_opts.name); -#endif /* Wait for async threads to initialize... */ erts_mtx_lock(&async->init.data.mtx); |