summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2017-06-22 16:39:47 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2017-06-22 16:39:47 -0700
commit297a5974d2625351cf9b1c2f804e5568482704b9 (patch)
tree5852545cf4a556a92d60671c593ccb6f4e001b29
parent1f089213b56c2e428081fbe95d46946f9b942d30 (diff)
parent1c7115bdcc56b2114b1f3469e84445d7a6b4e081 (diff)
Merge remote-tracking branch 'github/pr/1334' into maint
-rw-r--r--gr-blocks/lib/file_meta_sink_impl.cc31
-rw-r--r--gr-blocks/lib/file_meta_source_impl.cc22
-rw-r--r--gr-blocks/python/blocks/qa_file_metadata.py2
3 files changed, 31 insertions, 24 deletions
diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc
index 027d12faf2..b6d858489d 100644
--- a/gr-blocks/lib/file_meta_sink_impl.cc
+++ b/gr-blocks/lib/file_meta_sink_impl.cc
@@ -141,17 +141,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
@@ -216,6 +206,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
@@ -298,10 +300,11 @@ namespace gr {
void
file_meta_sink_impl::update_last_header()
{
- if(d_state == STATE_DETACHED)
- update_last_header_detached();
- else
- update_last_header_inline();
+ if(d_state == STATE_DETACHED) {
+ if (d_hdr_fp) update_last_header_detached();
+ } else {
+ if(d_fp) update_last_header_inline();
+ }
}
void
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
diff --git a/gr-blocks/python/blocks/qa_file_metadata.py b/gr-blocks/python/blocks/qa_file_metadata.py
index 0d7628bbdc..886207f108 100644
--- a/gr-blocks/python/blocks/qa_file_metadata.py
+++ b/gr-blocks/python/blocks/qa_file_metadata.py
@@ -106,6 +106,7 @@ class test_file_metadata(gr_unittest.TestCase):
self.tb.connect(src, ssnk)
self.tb.run()
+ fsrc.close()
# Test to make sure tags with 'samp_rate' and 'rx_rate' keys
# were generated and received correctly.
tags = tsnk.current_tags()
@@ -187,6 +188,7 @@ class test_file_metadata(gr_unittest.TestCase):
self.tb.connect(src, ssnk)
self.tb.run()
+ fsrc.close()
# Test to make sure tags with 'samp_rate' and 'rx_rate' keys
# were generated and received correctly.
tags = tsnk.current_tags()