Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. diff --git a/viewer/SDLview/main.c b/viewer/SDLview/main.c
  2. index 2e38ed2..d2f6b3a 100644
  3. --- a/viewer/SDLview/main.c
  4. +++ b/viewer/SDLview/main.c
  5. @@ -198,8 +198,7 @@ int connect2server(const char* server) {
  6.  
  7. if (rv != 0) {
  8. printf("getaddrinfo: %s\n", gai_strerror(rv));
  9. - freeaddrinfo(servinfo); // all done with this structure
  10. - exit(EXIT_FAILURE);
  11. + return -1;
  12. }
  13.  
  14. // loop through all the results and connect to the first we can
  15. @@ -220,14 +219,26 @@ int connect2server(const char* server) {
  16.  
  17. freeaddrinfo(servinfo); // all done with this structure
  18.  
  19. - if (p == NULL) {
  20. + if (p == NULL){
  21. printf("connect_to_server client: failed to connect\n");
  22. - exit(EXIT_FAILURE);
  23. + return -1;
  24. }
  25.  
  26. return sockfd;
  27. }
  28.  
  29. +int reconnect2server(const char* server) {
  30. +
  31. + for (;;) {
  32. + int fd = connect2server(server);
  33. + if (fd != -1) {
  34. + return fd;
  35. + }
  36. + sleep(1);
  37. + }
  38. +
  39. +}
  40. +
  41. int main(int argc, const char* argv[] ) {
  42. buffer_t buffer; // wir verwenden nur die datenstruktur = getBuffer();
  43. int ret;
  44. @@ -243,7 +254,7 @@ int main(int argc, const char* argv[] ) {
  45.  
  46. dstr_malloc(&net_puffer);
  47. dstr_malloc(&json_puffer);
  48. - int net = connect2server(argv[1]);
  49. + int net = reconnect2server(argv[1]);
  50.  
  51. allocStuff();
  52.  
  53. @@ -262,8 +273,8 @@ int main(int argc, const char* argv[] ) {
  54. ret = checkInput(net, &buffer, 100000);
  55.  
  56. if (ret == -1) {
  57. - fprintf(stderr, "I guess we better quit\n");
  58. - exit(1);
  59. + close(net);
  60. + net = reconnect2server(argv[1]);
  61. }
  62.  
  63. if (ret == 1) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement