From 5e0791286134c9be1be957b4aa7b2287e1aea7a6 Mon Sep 17 00:00:00 2001
From: gnieboer <gnieboer@corpcomm.net>
Date: Thu, 15 Jun 2017 21:42:06 -0400
Subject: gr-blocks: fix file_metadata_* not closing files on close()

---
 gr-blocks/lib/file_meta_source_impl.cc | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

(limited to 'gr-blocks/lib/file_meta_source_impl.cc')

diff --git a/gr-blocks/lib/file_meta_source_impl.cc b/gr-blocks/lib/file_meta_source_impl.cc
index 4cb0ab8ed1..3c72e2a003 100644
--- a/gr-blocks/lib/file_meta_source_impl.cc
+++ b/gr-blocks/lib/file_meta_source_impl.cc
@@ -111,17 +111,7 @@ namespace gr {
     {
       close();
 
-      if(d_fp) {
-	fclose(d_fp);
-	d_fp = 0;
-      }
 
-      if(d_state == STATE_DETACHED) {
-	if(d_hdr_fp) {
-	  fclose(d_hdr_fp);
-	  d_hdr_fp = 0;
-	}
-      }
     }
 
     bool
@@ -339,6 +329,18 @@ namespace gr {
 	d_new_fp = 0;
       }
       d_updated = true;
+
+      if (d_fp) {
+        fclose(d_fp);
+        d_fp = 0;
+      }
+
+      if (d_state == STATE_DETACHED) {
+        if (d_hdr_fp) {
+          fclose(d_hdr_fp);
+          d_hdr_fp = 0;
+        }
+      }
     }
 
     void
-- 
cgit v1.2.3