aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2012-07-06 12:23:34 +0200
committerHenrik Nord <[email protected]>2012-07-06 12:23:39 +0200
commit5a4fb5082647c0a6b68b546709120679b9d17b86 (patch)
tree51302e93f7538a6f9e2f7f88f8a4427edb1d21db /erts/emulator/beam
parent1bc0714f0146cedf7b407c54dbd79817f3b9294c (diff)
parentd032e097cac47bc0f6e6cf0df86b778e0ae16f94 (diff)
downloadotp-5a4fb5082647c0a6b68b546709120679b9d17b86.tar.gz
otp-5a4fb5082647c0a6b68b546709120679b9d17b86.tar.bz2
otp-5a4fb5082647c0a6b68b546709120679b9d17b86.zip
Merge branch 'sz/dtrace-message-send-fix' into maint
* sz/dtrace-message-send-fix: DTrace bug in message-send OTP-10142
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/dtrace-wrapper.h2
-rw-r--r--erts/emulator/beam/erl_message.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/dtrace-wrapper.h b/erts/emulator/beam/dtrace-wrapper.h
index 1aeb7f9221..6ec0c91e21 100644
--- a/erts/emulator/beam/dtrace-wrapper.h
+++ b/erts/emulator/beam/dtrace-wrapper.h
@@ -42,6 +42,8 @@
#define DTRACE_CHARBUF(name, size) \
char name##_BUFFER[size], *name = name##_BUFFER
+#define DTRACE_CHARBUF_NAME(name) name##_BUFFER
+
#if defined(USE_DYNAMIC_TRACE) && defined(USE_VM_PROBES)
#include "erlang_dtrace.h"
diff --git a/erts/emulator/beam/erl_message.c b/erts/emulator/beam/erl_message.c
index 499a2aac53..919567ab27 100644
--- a/erts/emulator/beam/erl_message.c
+++ b/erts/emulator/beam/erl_message.c
@@ -902,8 +902,8 @@ erts_send_message(Process* sender,
#ifdef USE_VM_PROBES
*sender_name = *receiver_name = '\0';
if (DTRACE_ENABLED(message_send)) {
- erts_snprintf(sender_name, sizeof(sender_name), "%T", sender->id);
- erts_snprintf(receiver_name, sizeof(receiver_name), "%T", receiver->id);
+ erts_snprintf(sender_name, sizeof(DTRACE_CHARBUF_NAME(sender_name)), "%T", sender->id);
+ erts_snprintf(receiver_name, sizeof(DTRACE_CHARBUF_NAME(receiver_name)), "%T", receiver->id);
}
#endif
if (SEQ_TRACE_TOKEN(sender) != NIL && !(flags & ERTS_SND_FLG_NO_SEQ_TRACE)) {