diff options
author | Roland McGrath <roland@redhat.com> | 2008-12-03 15:33:17 -0800 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2008-12-03 18:15:36 -0800 |
commit | aad1a79ccc20268ba399f0e025f203e968978350 (patch) | |
tree | e8c778154f6e702378056019d6eecca470062041 /runtime/staprun/staprun.c | |
parent | c1f7a8464fa9054e6ee06e05451f555b5504dd71 (diff) | |
download | systemtap-steved-aad1a79ccc20268ba399f0e025f203e968978350.tar.gz systemtap-steved-aad1a79ccc20268ba399f0e025f203e968978350.tar.xz systemtap-steved-aad1a79ccc20268ba399f0e025f203e968978350.zip |
PR7063: honor SYSTEMTAP_STAPRUN and SYSTEMTAP_STAPIO environment variables
Diffstat (limited to 'runtime/staprun/staprun.c')
-rw-r--r-- | runtime/staprun/staprun.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/staprun/staprun.c b/runtime/staprun/staprun.c index 9d647675..b568c867 100644 --- a/runtime/staprun/staprun.c +++ b/runtime/staprun/staprun.c @@ -242,6 +242,15 @@ int main(int argc, char **argv) exit(-1); } + if (getuid() != 0) { + rc = unsetenv("SYSTEMTAP_STAPRUN") || + unsetenv("SYSTEMTAP_STAPIO"); + if (rc) { + _perr("unsetenv failed"); + exit(-1); + } + } + setup_signals(); parse_args(argc, argv); @@ -283,7 +292,7 @@ int main(int argc, char **argv) if (init_staprun()) exit(1); - argv[0] = PKGLIBDIR "/stapio"; + argv[0] = getenv ("SYSTEMTAP_STAPIO") ?: PKGLIBDIR "/stapio"; if (run_as (1, getuid(), getgid(), argv[0], argv) < 0) { perror(argv[0]); goto err; @@ -473,4 +482,3 @@ int send_relocations () out: return rc; } - |