Commit 4e88857b authored by Cedric Roux's avatar Cedric Roux

let the soft-modem (or the program being traced, whatever it is) try

to connect until it succeeds
parent a1aa6658
...@@ -113,15 +113,27 @@ void T_connect_to_tracer(char *addr, int port) ...@@ -113,15 +113,27 @@ void T_connect_to_tracer(char *addr, int port)
int T_shm_fd; int T_shm_fd;
#endif #endif
if (strcmp(addr, "127.0.0.1") != 0) {
printf("error: local tracer must be on same host\n");
abort();
}
printf("connecting to local tracer on port %d\n", port);
again:
s = socket(AF_INET, SOCK_STREAM, 0); s = socket(AF_INET, SOCK_STREAM, 0);
if (s == -1) { perror("socket"); exit(1); } if (s == -1) { perror("socket"); exit(1); }
a.sin_family = AF_INET; a.sin_family = AF_INET;
a.sin_port = htons(port); a.sin_port = htons(port);
a.sin_addr.s_addr = inet_addr(addr); a.sin_addr.s_addr = inet_addr("127.0.0.1");
if (connect(s, (struct sockaddr *)&a, sizeof(a)) == -1) if (connect(s, (struct sockaddr *)&a, sizeof(a)) == -1) {
{ perror("connect"); exit(1); } perror("connect");
close(s);
printf("trying again in 1s\n");
sleep(1);
goto again;
}
/* wait for first message - initial list of active T events */ /* wait for first message - initial list of active T events */
get_message(s); get_message(s);
......
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