aboutsummaryrefslogtreecommitdiffstats
path: root/templates/wrapfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'templates/wrapfuncs.c')
-rw-r--r--templates/wrapfuncs.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/templates/wrapfuncs.c b/templates/wrapfuncs.c
index 3859183..93bb671 100644
--- a/templates/wrapfuncs.c
+++ b/templates/wrapfuncs.c
@@ -60,9 +60,15 @@ ${maybe_async_skip}
${rc_assign} (*real_${name})(${call_args});
} else {
${fix_paths}
- /* exec*() use this to restore the sig mask */
- pseudo_saved_sigmask = saved;
- ${rc_assign} wrap_$name(${call_args});
+ if (${ignore_paths}) {
+ /* call the real syscall */
+ pseudo_debug(PDBGF_SYSCALL, "${name} ignored path, calling real syscall.\n");
+ ${rc_assign} (*real_${name})(${call_args});
+ } else {
+ /* exec*() use this to restore the sig mask */
+ pseudo_saved_sigmask = saved;
+ ${rc_assign} wrap_$name(${call_args});
+ }
}
${variadic_end}
save_errno = errno;