summaryrefslogtreecommitdiffstats
path: root/stap-server-connect.c
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-05-06 13:52:52 -0400
committerDave Brolley <brolley@redhat.com>2009-05-06 13:52:52 -0400
commit67c7a9ac91ea3de5cadb7c90028365fdac1f530f (patch)
treefcd156335aacca27faf299561ca7a604a9ef75c1 /stap-server-connect.c
parent07e1c7c9f0c0244530d4cb1f4a876355df1a2aec (diff)
downloadsystemtap-steved-67c7a9ac91ea3de5cadb7c90028365fdac1f530f.tar.gz
systemtap-steved-67c7a9ac91ea3de5cadb7c90028365fdac1f530f.tar.xz
systemtap-steved-67c7a9ac91ea3de5cadb7c90028365fdac1f530f.zip
Problems using server scripts when not on PATH.
HAVE_NSS related compile time warning.
Diffstat (limited to 'stap-server-connect.c')
-rw-r--r--stap-server-connect.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/stap-server-connect.c b/stap-server-connect.c
index 31fbefca..33d4983b 100644
--- a/stap-server-connect.c
+++ b/stap-server-connect.c
@@ -377,6 +377,7 @@ handle_connection(PRFileDesc *tcpSocket)
PRSocketOptionData socketOption;
PRFileInfo info;
char *cmdline;
+ char *stap_server_prefix;
int rc;
char *rc1;
@@ -465,10 +466,11 @@ handle_connection(PRFileDesc *tcpSocket)
#endif
/* Call the stap-server script. */
- cmdline = PORT_Alloc(sizeof ("stap-server") +
- sizeof (requestFileName) +
- sizeof (responseDirName) +
- sizeof (responseZipName) +
+ stap_server_prefix = getenv("SYSTEMTAP_SERVER_SCRIPTS") ?: BINDIR;
+ cmdline = PORT_Alloc(strlen (stap_server_prefix) + sizeof ("/stap-server") + 1 +
+ sizeof (requestFileName) + 1 +
+ sizeof (responseDirName) + 1 +
+ sizeof (responseZipName) + 1 +
strlen (dbdir) + 1);
if (! cmdline) {
errWarn ("PORT_Alloc");
@@ -476,7 +478,7 @@ handle_connection(PRFileDesc *tcpSocket)
goto cleanup;
}
- sprintf (cmdline, "stap-server %s %s %s %s",
+ sprintf (cmdline, "%s/stap-server %s %s %s %s", stap_server_prefix,
requestFileName, responseDirName, responseZipName, dbdir);
rc = system (cmdline);