X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=inline;f=ustd%2Fustd.c;h=aae4b0248ba0a9a689ecb9f4de8f969c64e6d5f3;hb=463011e4be98c30caf7be5185463c732563a860f;hp=4f826966dd3900ba1da0ce9211d273e3697c070f;hpb=e4f782780d373a98897589ead9399680f725fcf8;p=ust.git diff --git a/ustd/ustd.c b/ustd/ustd.c index 4f82696..aae4b02 100644 --- a/ustd/ustd.c +++ b/ustd/ustd.c @@ -71,7 +71,7 @@ int get_subbuffer(struct buffer_info *buf) asprintf(&send_msg, "get_subbuffer %s", buf->name); result = ustcomm_send_request(&buf->conn, send_msg, &received_msg); - if((result == -1 && errno == EPIPE) || result == 0) { + if((result == -1 && (errno == ECONNRESET || errno == EPIPE)) || result == 0) { DBG("app died while being traced"); retval = GET_SUBBUF_DIED; goto end; @@ -99,8 +99,8 @@ int get_subbuffer(struct buffer_info *buf) goto end_rep; } else if(!strcmp(received_msg, "NOTFOUND")) { - WARN("For buffer %s, the trace was not found. This likely means it was destroyed by the user.", buf->name); - retval = GET_SUBBUF_DONE; + DBG("For buffer %s, the trace was not found. This likely means it was destroyed by the user.", buf->name); + retval = GET_SUBBUF_DIED; goto end_rep; } else { @@ -131,7 +131,7 @@ int put_subbuffer(struct buffer_info *buf) asprintf(&send_msg, "put_subbuffer %s %ld", buf->name, buf->consumed_old); result = ustcomm_send_request(&buf->conn, send_msg, &received_msg); - if(result < 0 && errno == ECONNRESET) { + if(result < 0 && (errno == ECONNRESET || errno == EPIPE)) { retval = PUT_SUBBUF_DIED; goto end; } @@ -160,7 +160,7 @@ int put_subbuffer(struct buffer_info *buf) retval = PUT_SUBBUF_OK; } else if(!strcmp(received_msg, "NOTFOUND")) { - WARN("For buffer %s, the trace was not found. This likely means it was destroyed by the user.", buf->name); + DBG("For buffer %s, the trace was not found. This likely means it was destroyed by the user.", buf->name); /* However, maybe this was not the last subbuffer. So * we return the program died. */ @@ -509,7 +509,7 @@ int consumer_loop(struct buffer_info *buf) break; } else if(result == PUT_SUBBUF_DIED) { - WARN("application died while putting subbuffer"); + DBG("application died while putting subbuffer"); /* Skip the first subbuffer. We are not sure it is trustable * because the put_subbuffer() did not complete. */ @@ -559,11 +559,10 @@ void *consumer_thread(void *arg) consumer_loop(buf); - free(args->bufname); + free((void *)args->bufname); destroy_buffer(buf); end: - /* bufname is free'd in free_buffer() */ free(args); return NULL; }