diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2010-12-14 18:53:59 -0600 |
---|---|---|
committer | Peter Seebach <peter.seebach@windriver.com> | 2010-12-16 16:35:01 -0600 |
commit | 0eec00c99f7c7e25313caa97937a77383df8b0e8 (patch) | |
tree | ba0949af819971ddadba24dbcff39307842ce297 /doc/program_flow | |
parent | eba97c46608e776088a86d9d8db25d07e8de09ac (diff) | |
download | pseudo-0eec00c99f7c7e25313caa97937a77383df8b0e8.tar.gz pseudo-0eec00c99f7c7e25313caa97937a77383df8b0e8.tar.bz2 pseudo-0eec00c99f7c7e25313caa97937a77383df8b0e8.zip |
Restructure wrapfuncs.c
Restructure wrapfuncs.c in an attempt to improve PSEUDO_DISABLED=1
performance.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'doc/program_flow')
-rw-r--r-- | doc/program_flow | 16 |
1 files changed, 14 insertions, 2 deletions
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() |