From 6562c0b787af6dd150d56b640824d2ce96046487 Mon Sep 17 00:00:00 2001 From: zacharyc Date: Wed, 18 Mar 2009 17:27:46 +0000 Subject: [PATCH] Fixed bug when output pipe is closed without a KILL signal git-svn-id: https://bucket.mit.edu/svn/nilm/acquisition/ethstream@7301 ddd99763-3ecb-0310-9145-efcb8ce7c51f --- ethstream.c | 11 ++++++++--- nerdjack.c | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ethstream.c b/ethstream.c index 383db01..089e5bf 100644 --- a/ethstream.c +++ b/ethstream.c @@ -477,9 +477,14 @@ nerdDoStream (const char *address, int *channel_list, int channel_count, goto out; } - if (nerd_data_stream + retval = nerd_data_stream (fd_data, channel_count, channel_list, precision, convert, lines, - showmem, ¤tcount, period) < 0) + showmem, ¤tcount, period); + if(retval == -3) + { + retval = 0; + } + if(retval < 0) { info ("Failed to open data stream\n"); goto out1; @@ -627,5 +632,5 @@ data_callback (int channels, uint16_t * data, void *context) bad: info ("Output error (disk full?)\n"); - return -1; + return -3; } diff --git a/nerdjack.c b/nerdjack.c index d28cf00..cf84707 100644 --- a/nerdjack.c +++ b/nerdjack.c @@ -200,7 +200,7 @@ nerd_send_command (const char *address, void *command, int length) if (0 != strcmp ("OK", buf)) { verb ("Did not receive OK. Received %s\n", buf); - return -3; + return -1; } return 0; @@ -480,7 +480,7 @@ nerd_data_stream (int data_fd, int numChannels, int *channel_list, bad: info ("Output error (disk full?)\n"); - return -1; + return -3; }