diff options
author | fche <fche> | 2005-08-19 15:55:39 +0000 |
---|---|---|
committer | fche <fche> | 2005-08-19 15:55:39 +0000 |
commit | 0aaf677efbf70fd173d241c01632b4eacc8226e5 (patch) | |
tree | 011aac91bb983ba9f31b3bbee4829a7365d306f9 /runtime/stpd/librelay.c | |
parent | 37908791bf273ecdf073a8bd848501d2137cd71a (diff) | |
download | systemtap-steved-0aaf677efbf70fd173d241c01632b4eacc8226e5.tar.gz systemtap-steved-0aaf677efbf70fd173d241c01632b4eacc8226e5.tar.xz systemtap-steved-0aaf677efbf70fd173d241c01632b4eacc8226e5.zip |
2005-08-19 Frank Ch. Eigler <fche@elastic.org>
* librelay.c (modpath): New global. Use it for insmod only.
* stpd.c (main): Set both modpath and modname, to support
modules specified by full path name.
Diffstat (limited to 'runtime/stpd/librelay.c')
-rw-r--r-- | runtime/stpd/librelay.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/stpd/librelay.c b/runtime/stpd/librelay.c index fabbd145..6bceb99f 100644 --- a/runtime/stpd/librelay.c +++ b/runtime/stpd/librelay.c @@ -84,6 +84,7 @@ static int control_channel; extern int print_only, quiet, merge, verbose; extern unsigned int buffer_size; extern char *modname; +extern char *modpath; /* per-cpu buffer info */ static struct buf_status @@ -424,7 +425,7 @@ int init_stp(const char *relay_filebase, int print_summary) perror ("vfork"); exit(-1); } else if (pid == 0) { - if (execl("/sbin/insmod", "insmod", modname, buf, NULL) < 0) + if (execl("/sbin/insmod", "insmod", modpath, buf, NULL) < 0) exit(-1); } if (waitpid(pid, &rstatus, 0) < 0) { @@ -432,7 +433,7 @@ int init_stp(const char *relay_filebase, int print_summary) exit(-1); } if (WIFEXITED(rstatus) && WEXITSTATUS(rstatus)) { - fprintf(stderr, "ERROR, couldn't insmod probe module %s\n", modname); + fprintf(stderr, "ERROR, couldn't insmod probe module %s\n", modpath); return -1; } |