From 0eec00c99f7c7e25313caa97937a77383df8b0e8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 14 Dec 2010 18:53:59 -0600 Subject: Restructure wrapfuncs.c Restructure wrapfuncs.c in an attempt to improve PSEUDO_DISABLED=1 performance. Signed-off-by: Mark Hatle --- doc/program_flow | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/program_flow b/doc/program_flow index b0680a0..8991681 100644 --- a/doc/program_flow +++ b/doc/program_flow @@ -37,7 +37,7 @@ libpseudo execution flow: fork() clone() - pseudo_populate_wrappers(): + pseudo_check_wrappers(): pseudo_reinit_libpseudo if necessary call wrap_exec*() if !PSEUDO_RELOADED @@ -49,7 +49,19 @@ libpseudo execution flow: pseudo_dropenv() real_*() - ... normal function wrappers ... + ... normal function wrappers ... (templates/wrapfuncs.c): + pseudo_check_wrappers() || !real_* + return enosys + variadic setup (if necessary) + if pseudo_disabled return real_*() + pseudo_sigblock + pseudo_getlock + if antimagic rc = real_*() + else rc = wrap_*() + variadic end (if necessary) + pseudo_droplock + unmask signals + return rc pseudo execution flow: pseudo.c: main() -- cgit v1.2.3-13-gbd6f