diff options
| author | Mateusz Guzik <mjg@FreeBSD.org> | 2018-04-27 15:16:34 +0000 |
|---|---|---|
| committer | Mateusz Guzik <mjg@FreeBSD.org> | 2018-04-27 15:16:34 +0000 |
| commit | 9d68f7741f72f3becdc8ec05edf32b58aef24a5e (patch) | |
| tree | ad3ee1a303350b7b5660605e475811ddc5177f7a /sys/cddl/dev | |
| parent | 715d1396d6233158b94e85414b57520ee3e536cc (diff) | |
Notes
Diffstat (limited to 'sys/cddl/dev')
| -rw-r--r-- | sys/cddl/dev/systrace/systrace.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/cddl/dev/systrace/systrace.c b/sys/cddl/dev/systrace/systrace.c index 02b089b425269..2ef74cb15e0ad 100644 --- a/sys/cddl/dev/systrace/systrace.c +++ b/sys/cddl/dev/systrace/systrace.c @@ -135,6 +135,8 @@ extern const char *freebsd32_syscallnames[]; #error 1 << SYSTRACE_SHIFT must exceed number of system calls #endif +static int systrace_enabled_count; + static void systrace_load(void *); static void systrace_unload(void *); @@ -315,6 +317,9 @@ systrace_enable(void *arg, dtrace_id_t id, void *parg) SYSENT[sysnum].sy_entry = id; else SYSENT[sysnum].sy_return = id; + systrace_enabled_count++; + if (systrace_enabled_count == 1) + systrace_enabled = true; } static void @@ -324,6 +329,9 @@ systrace_disable(void *arg, dtrace_id_t id, void *parg) SYSENT[sysnum].sy_entry = 0; SYSENT[sysnum].sy_return = 0; + systrace_enabled_count--; + if (systrace_enabled_count == 0) + systrace_enabled = false; } static void |
