From a338f5390fea32ca84ed1fe57ac29b7924904b18 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 9 Dec 2016 14:14:44 -0800 Subject: [PATCH] Fix where I was closing the prefilter pipe in the wrong thread --- tile.cpp | 8 ++++---- write_json.cpp | 4 ++-- write_json.hpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tile.cpp b/tile.cpp index d57003a..e213407 100644 --- a/tile.cpp +++ b/tile.cpp @@ -1367,6 +1367,10 @@ void *run_prefilter(void *v) { layer_to_geojson(rpa->prefilter_fp, tmp_layer, 0, 0, 0, false, true); } + if (fclose(rpa->prefilter_fp) != 0) { + perror("fclose output to prefilter"); + exit(EXIT_FAILURE); + } return NULL; } @@ -1582,10 +1586,6 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s } if (prefilter != NULL) { - if (fclose(prefilter_fp) != 0) { - perror("fclose output to prefilter"); - exit(EXIT_FAILURE); - } if (close(prefilter_read) != 0) { perror("close output from prefilter"); exit(EXIT_FAILURE); diff --git a/write_json.cpp b/write_json.cpp index f5c3173..e5b2287 100644 --- a/write_json.cpp +++ b/write_json.cpp @@ -24,9 +24,9 @@ struct lonlat { } }; -void layer_to_geojson(FILE *fp, mvt_layer &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name) { +void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name) { for (size_t f = 0; f < layer.features.size(); f++) { - mvt_feature &feat = layer.features[f]; + mvt_feature const &feat = layer.features[f]; if (comma && f != 0) { fprintf(fp, ",\n"); diff --git a/write_json.hpp b/write_json.hpp index 685a853..c7f1b2a 100644 --- a/write_json.hpp +++ b/write_json.hpp @@ -1,2 +1,2 @@ -void layer_to_geojson(FILE *fp, mvt_layer &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name); +void layer_to_geojson(FILE *fp, mvt_layer const &layer, unsigned z, unsigned x, unsigned y, bool comma, bool name); void fprintq(FILE *f, const char *s);