aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-11-28 14:53:36 +0100
committerLukas Larsson <[email protected]>2013-11-28 14:53:36 +0100
commita30d07c660b3d2269484fcafb493daf670a21a72 (patch)
tree276727cbcecba762ac0f2e3ff6dd8f5976d7b6e2 /erts/emulator/beam
parent67837031b8e23031506dda9ed02a53650528da35 (diff)
parent172ac461d7055b655a9b5c22c1d95a140624945f (diff)
downloadotp-a30d07c660b3d2269484fcafb493daf670a21a72.tar.gz
otp-a30d07c660b3d2269484fcafb493daf670a21a72.tar.bz2
otp-a30d07c660b3d2269484fcafb493daf670a21a72.zip
Merge branch 'maint'
* maint: Improve error info when main carrier creation fails
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/erl_alloc_util.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c
index 441133a464..3914537d0d 100644
--- a/erts/emulator/beam/erl_alloc_util.c
+++ b/erts/emulator/beam/erl_alloc_util.c
@@ -5610,8 +5610,15 @@ erts_alcu_start(Allctr_t *allctr, AllctrInit_t *init)
| CFLG_FORCE_SYS_ALLOC
#endif
| CFLG_MAIN_CARRIER);
- if (!blk)
- goto error;
+ if (!blk) {
+#ifdef USE_THREADS
+ if (allctr->thread_safe)
+ erts_mtx_destroy(&allctr->mutex);
+#endif
+ erl_exit(ERTS_ABORT_EXIT,
+ "Failed to create main carrier for %salloc\n",
+ init->name_prefix);
+ }
(*allctr->link_free_block)(allctr, blk);