X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ustd%2Fustd.c;h=c1dd0cb83d87c2ffd451b4860d70fdd66c985f10;hb=b88f0774143e1478fd3a85209e8d2571ef998105;hp=95dbdcaeaceb8c9501c44132ff251e413028de00;hpb=7fc9284baa5c9fafbd23120b1ac064b402349fbc;p=ust.git diff --git a/ustd/ustd.c b/ustd/ustd.c index 95dbdca..c1dd0cb 100644 --- a/ustd/ustd.c +++ b/ustd/ustd.c @@ -100,7 +100,7 @@ int get_subbuffer(struct buffer_info *buf) } else if(!strcmp(received_msg, "NOTFOUND")) { DBG("For buffer %s, the trace was not found. This likely means it was destroyed by the user.", buf->name); - retval = GET_SUBBUF_DONE; + retval = GET_SUBBUF_DIED; goto end_rep; } else { @@ -465,7 +465,6 @@ int write_current_subbuffer(struct buffer_info *buf) result = patient_write(buf->file_fd, subbuf_mem, cur_sb_size); if(result == -1) { PERROR("write"); - /* FIXME: maybe drop this trace */ return -1; } @@ -495,8 +494,10 @@ int consumer_loop(struct buffer_info *buf) } /* write data to file */ - write_current_subbuffer(buf); - /* FIXME: handle return value? */ + result = write_current_subbuffer(buf); + if(result == -1) { + ERR("Failed writing a subbuffer to file (channel=%s). Dropping this buffer.", buf->name); + } /* put the subbuffer */ result = put_subbuffer(buf);