Added cmd line in new_process request.
diff --git a/include/server.h b/include/server.h
index 2acd4b1..4e56dc4 100644
--- a/include/server.h
+++ b/include/server.h
@@ -49,6 +49,7 @@
int hstdin; /* handle for stdin */
int hstdout; /* handle for stdout */
int hstderr; /* handle for stderr */
+ char cmd_line[0]; /* command line */
};
struct new_process_reply
{
diff --git a/scheduler/process.c b/scheduler/process.c
index 1011c92..fa96c6f 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -421,7 +421,8 @@
req.hstdout = GetStdHandle( STD_OUTPUT_HANDLE );
req.hstderr = GetStdHandle( STD_ERROR_HANDLE );
}
- CLIENT_SendRequest( REQ_NEW_PROCESS, -1, 1, &req, sizeof(req) );
+ CLIENT_SendRequest( REQ_NEW_PROCESS, -1, 2,
+ &req, sizeof(req), cmd_line, strlen(cmd_line) + 1 );
if (CLIENT_WaitSimpleReply( &reply, sizeof(reply), NULL )) goto error;
pdb->server_pid = reply.pid;
info->hProcess = reply.handle;
diff --git a/server/trace.c b/server/trace.c
index b689e94..f1ab987 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -13,8 +13,9 @@
fprintf( stderr, " start_flags=%d,", req->start_flags );
fprintf( stderr, " hstdin=%d,", req->hstdin );
fprintf( stderr, " hstdout=%d,", req->hstdout );
- fprintf( stderr, " hstderr=%d", req->hstderr );
- return (int)sizeof(*req);
+ fprintf( stderr, " hstderr=%d,", req->hstderr );
+ fprintf( stderr, " cmd_line=\"%.*s\"", len - (int)sizeof(*req), (char *)(req+1) );
+ return len;
}
static int dump_new_process_reply( struct new_process_reply *req, int len )