aboutsummaryrefslogtreecommitdiffstats
path: root/lib/os_mon/c_src/cpu_sup.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <egil@erlang.org>2012-07-24 17:03:01 +0200
committerBjörn-Egil Dahlberg <egil@erlang.org>2012-07-24 17:14:16 +0200
commit0da1a7be25ec7ae3a185dd69d3e3d6e1f5401dbb (patch)
tree36721a788d0b7d985634042e88deb2f79f232047 /lib/os_mon/c_src/cpu_sup.c
parent92eb89bd630e822cfc93a07dad7d6c7a25f45d63 (diff)
downloadotp-0da1a7be25ec7ae3a185dd69d3e3d6e1f5401dbb.tar.gz
otp-0da1a7be25ec7ae3a185dd69d3e3d6e1f5401dbb.tar.bz2
otp-0da1a7be25ec7ae3a185dd69d3e3d6e1f5401dbb.zip
os_mon: Elucidate port program error messages
Try to avoid confusion of the message 'Erlang has closed' by clarifying that the message is sent from os_mon port programs.
Diffstat (limited to 'lib/os_mon/c_src/cpu_sup.c')
-rw-r--r--lib/os_mon/c_src/cpu_sup.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/os_mon/c_src/cpu_sup.c b/lib/os_mon/c_src/cpu_sup.c
index 9c5f9a6aa5..a0432b3093 100644
--- a/lib/os_mon/c_src/cpu_sup.c
+++ b/lib/os_mon/c_src/cpu_sup.c
@@ -458,8 +458,18 @@ static void error(char* err_msg) {
* if we get error here we have trouble,
* silence unnecessary warnings
*/
- if(write(FD_ERR, err_msg, strlen(err_msg)));
- if(write(FD_ERR, "\n", 1));
+ char buffer[256] = "[os_mon] cpu supervisor port (cpu_sup): ";
+ int i = strlen(buffer), j = 0;
+ int n = strlen(err_msg);
+
+ while(i < 253 && j < n) {
+ buffer[i++] = err_msg[j++];
+ }
+ buffer[i++] = '\r';
+ buffer[i++] = '\n';
+
+ /* try to use one write only */
+ if(write(FD_ERR, buffer, i));
exit(-1);
}