Commit 6b9db378 authored by Cedric Roux's avatar Cedric Roux

start integrating local tracer directly into tracee

first step: let the tracee connect before the remote tracer
and let's have a "no wait" mode where the local tracer starts
the tracee before the remote tracer is connected
parent a5e63b27
......@@ -59,6 +59,7 @@ printf("got mess %d\n", t);
l--;
}
break;
case 2: break; /* do nothing, this message is to wait for local tracer */
}
}
......
......@@ -98,7 +98,9 @@ void usage(void)
"tracer - local side\n"
"options:\n"
" -r <IP address> <port> forwards packets to remote IP:port\n"
" (default %s:%d)\n",
" (default %s:%d)\n"
" -nowait don't wait for remote tracer,\n"
" start tracee immediately\n",
DEFAULT_REMOTE_IP, DEFAULT_REMOTE_PORT
);
exit(1);
......@@ -111,20 +113,27 @@ int main(int n, char **v)
char *remote_ip = DEFAULT_REMOTE_IP;
int remote_port = DEFAULT_REMOTE_PORT;
int port = 2020;
int dont_wait = 0;
void *f;
for (i = 1; i < n; i++) {
if (!strcmp(v[i], "-h") || !strcmp(v[i], "--help")) usage();
if (!strcmp(v[i], "-r")) { if (i > n-3) usage();
remote_ip = v[++i]; remote_port = atoi(v[++i]); continue; }
if (!strcmp(v[i], "-nowait")) { dont_wait = 1; continue; }
printf("ERROR: unknown option %s\n", v[i]);
usage();
}
f = forwarder(remote_ip, remote_port);
init_shm();
s = get_connection("127.0.0.1", port);
if (dont_wait) {
char t = 2;
if (write(s, &t, 1) != 1) abort();
}
f = forwarder(remote_ip, remote_port);
forward_start_client(f, s);
/* read messages */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment