aboutsummaryrefslogtreecommitdiffstats
path: root/lib/runtime_tools/c_src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/runtime_tools/c_src')
-rw-r--r--lib/runtime_tools/c_src/dyntrace.c20
-rw-r--r--lib/runtime_tools/c_src/dyntrace_lttng.h6
-rw-r--r--lib/runtime_tools/c_src/trace_ip_drv.c3
3 files changed, 16 insertions, 13 deletions
diff --git a/lib/runtime_tools/c_src/dyntrace.c b/lib/runtime_tools/c_src/dyntrace.c
index 0178d95efb..e7a4a73373 100644
--- a/lib/runtime_tools/c_src/dyntrace.c
+++ b/lib/runtime_tools/c_src/dyntrace.c
@@ -433,7 +433,7 @@ static ERL_NIF_TERM trace_call(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv
char class[LTTNG_BUFFER_SZ];
enif_get_tuple(env, argv[4], &arity, &tuple);
- erts_snprintf(class, LTTNG_BUFFER_SZ, "%T", tuple[0]);
+ enif_snprintf(class, LTTNG_BUFFER_SZ, "%T", tuple[0]);
if (enif_get_tuple(env, argv[3], &arity, &tuple)) {
enif_get_uint(env, tuple[2], &len);
@@ -465,7 +465,7 @@ static ERL_NIF_TERM trace_send(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv
char msg[LTTNG_BUFFER_SZ];
lttng_pid_to_str(argv[4], to);
- erts_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG3(message_send, pid, to, msg);
} else if (argv[0] == atom_send_to_non_existing_process) {
@@ -473,7 +473,7 @@ static ERL_NIF_TERM trace_send(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv
char msg[LTTNG_BUFFER_SZ];
lttng_pid_to_str(argv[4], to);
- erts_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
/* mark it as non existing ? */
LTTNG3(message_send, pid, to, msg);
@@ -496,7 +496,7 @@ static ERL_NIF_TERM trace_receive(ErlNifEnv* env, int argc, const ERL_NIF_TERM a
char msg[LTTNG_BUFFER_SZ];
lttng_pid_to_str(argv[2], pid);
- erts_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG2(message_receive, pid, msg);
}
@@ -560,11 +560,11 @@ static ERL_NIF_TERM trace_procs(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg
/* register */
} else if (argv[0] == atom_register) {
char name[LTTNG_BUFFER_SZ];
- erts_snprintf(name, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(name, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG3(process_register, pid, name, "register");
} else if (argv[0] == atom_unregister) {
char name[LTTNG_BUFFER_SZ];
- erts_snprintf(name, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(name, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG3(process_register, pid, name, "unregister");
/* link */
} else if (argv[0] == atom_link) {
@@ -582,7 +582,7 @@ static ERL_NIF_TERM trace_procs(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg
/* exit */
} else if (argv[0] == atom_exit) {
char reason[LTTNG_BUFFER_SZ];
- erts_snprintf(reason, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(reason, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG2(process_exit, pid, reason);
}
return atom_ok;
@@ -622,11 +622,11 @@ static ERL_NIF_TERM trace_ports(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg
lttng_decl_procbuf(pid);
lttng_pid_to_str(argv[3], pid);
- erts_snprintf(driver, LTTNG_BUFFER_SZ, "%T", argv[4]);
+ enif_snprintf(driver, LTTNG_BUFFER_SZ, "%T", argv[4]);
LTTNG3(port_open, pid, driver, port);
} else if (argv[0] == atom_closed) {
char reason[LTTNG_BUFFER_SZ];
- erts_snprintf(reason, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(reason, LTTNG_BUFFER_SZ, "%T", argv[3]);
LTTNG2(port_exit, port, reason);
/* link */
@@ -705,7 +705,7 @@ static ERL_NIF_TERM trace_running_ports(ErlNifEnv* env, int argc, const ERL_NIF_
lttng_decl_mfabuf(where);
lttng_portid_to_str(argv[2], pid);
- erts_snprintf(where, LTTNG_BUFFER_SZ, "%T", argv[3]);
+ enif_snprintf(where, LTTNG_BUFFER_SZ, "%T", argv[3]);
/* running ports */
if (argv[0] == atom_in) {
diff --git a/lib/runtime_tools/c_src/dyntrace_lttng.h b/lib/runtime_tools/c_src/dyntrace_lttng.h
index 3550a1cab5..2a3224e191 100644
--- a/lib/runtime_tools/c_src/dyntrace_lttng.h
+++ b/lib/runtime_tools/c_src/dyntrace_lttng.h
@@ -59,10 +59,10 @@
char Name[LTTNG_MFA_BUFFER_SZ]
#define lttng_pid_to_str(pid, name) \
- erts_snprintf(name, LTTNG_PROC_BUFFER_SZ, "%T", (pid))
+ enif_snprintf(name, LTTNG_PROC_BUFFER_SZ, "%T", (pid))
#define lttng_portid_to_str(pid, name) \
- erts_snprintf(name, LTTNG_PORT_BUFFER_SZ, "%T", (pid))
+ enif_snprintf(name, LTTNG_PORT_BUFFER_SZ, "%T", (pid))
#define lttng_proc_to_str(p, name) \
lttng_pid_to_str(((p) ? (p)->common.id : ERTS_INVALID_PID), name)
@@ -71,7 +71,7 @@
lttng_portid_to_str(((p) ? (p)->common.id : ERTS_INVALID_PORT), name)
#define lttng_mfa_to_str(m,f,a, Name) \
- erts_snprintf(Name, LTTNG_MFA_BUFFER_SZ, "%T:%T/%lu", (Eterm)(m), (Eterm)(f), (Uint)(a))
+ enif_snprintf(Name, LTTNG_MFA_BUFFER_SZ, "%T:%T/%lu", (Eterm)(m), (Eterm)(f), (Uint)(a))
/* Process scheduling */
diff --git a/lib/runtime_tools/c_src/trace_ip_drv.c b/lib/runtime_tools/c_src/trace_ip_drv.c
index c73630f702..195558f958 100644
--- a/lib/runtime_tools/c_src/trace_ip_drv.c
+++ b/lib/runtime_tools/c_src/trace_ip_drv.c
@@ -374,6 +374,7 @@ static void trace_ip_output(ErlDrvData handle, char *buff, ErlDrvSizeT bufflen)
}
return;
}
+ ASSERT(!IS_INVALID_SOCKET(data->fd));
if (data->que[data->questart] != NULL) {
trace_ip_ready_output(handle, sock2event(data->fd));
}
@@ -412,6 +413,7 @@ static void trace_ip_ready_input(ErlDrvData handle, ErlDrvEvent fd)
/*
** Maybe accept, we are a listen port...
*/
+ ASSERT(IS_INVALID_SOCKET(data->fd));
if (!IS_INVALID_SOCKET((client = my_accept(data->listenfd)))) {
data->fd = client;
set_nonblocking(client);
@@ -735,6 +737,7 @@ static void close_client(TraceIpData *data)
{
my_driver_select(data, data->fd, FLAG_WRITE | FLAG_READ, SELECT_CLOSE);
data->flags |= FLAG_LISTEN_PORT;
+ data->fd = INVALID_SOCKET;
if (!(data->flags & FLAG_FILL_ALWAYS)) {
clean_que(data);
}