summaryrefslogtreecommitdiffstats
path: root/tools/iio
diff options
context:
space:
mode:
authorHartmut Knaack <knaack.h@gmx.de>2015-05-31 08:40:04 -0400
committerJonathan Cameron <jic23@kernel.org>2015-05-31 14:24:18 -0400
commit6bb7cac8551e2d60edbd25a6d046cc45932c4c3e (patch)
tree34a1b4188e6cc0724095f74e7a298696db45e469 /tools/iio
parentc8ce9903cba202936999c2c9463fbb370ee145ba (diff)
tools:iio:generic_buffer: add error handling
Add error handling to calls which can indicate a major problem by returning an error code. Signed-off-by: Hartmut Knaack <knaack.h@gmx.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'tools/iio')
-rw-r--r--tools/iio/generic_buffer.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/tools/iio/generic_buffer.c b/tools/iio/generic_buffer.c
index 93ac93f74549..cf9a4120204f 100644
--- a/tools/iio/generic_buffer.c
+++ b/tools/iio/generic_buffer.c
@@ -347,7 +347,14 @@ int main(int argc, char **argv)
347 .events = POLLIN, 347 .events = POLLIN,
348 }; 348 };
349 349
350 poll(&pfd, 1, -1); 350 ret = poll(&pfd, 1, -1);
351 if (ret < 0) {
352 ret = -errno;
353 goto error_close_buffer_access;
354 } else if (ret == 0) {
355 continue;
356 }
357
351 toread = buf_len; 358 toread = buf_len;
352 359
353 } else { 360 } else {
@@ -378,11 +385,14 @@ int main(int argc, char **argv)
378 385
379 if (!notrigger) 386 if (!notrigger)
380 /* Disconnect the trigger - just write a dummy name. */ 387 /* Disconnect the trigger - just write a dummy name. */
381 write_sysfs_string("trigger/current_trigger", 388 ret = write_sysfs_string("trigger/current_trigger",
382 dev_dir_name, "NULL"); 389 dev_dir_name, "NULL");
390 if (ret < 0)
391 printf("Failed to write to %s\n", dev_dir_name);
383 392
384error_close_buffer_access: 393error_close_buffer_access:
385 close(fp); 394 if (close(fp) == -1)
395 perror("Failed to close buffer");
386error_free_buffer_access: 396error_free_buffer_access:
387 free(buffer_access); 397 free(buffer_access);
388error_free_data: 398error_free_data: