From 29b26b24da4bf2e363d00edbfea7f8b734de8ff2 Mon Sep 17 00:00:00 2001 From: Thomas Jahns <jahns@dkrz.de> Date: Wed, 21 Aug 2019 13:44:46 +0200 Subject: [PATCH] Fix missing cleanup in parallel mode. --- src/pio_client.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pio_client.c b/src/pio_client.c index 4aaebcd66..e56f14b98 100644 --- a/src/pio_client.c +++ b/src/pio_client.c @@ -12,6 +12,9 @@ #include "cdi.h" #include "cdi_int.h" #include "dmemory.h" +#ifdef HAVE_LIBGRIB +#include "gribapi.h" +#endif #include "namespace.h" #include "taxis.h" #include "vlist.h" @@ -375,7 +378,6 @@ cdiPioClientStreamNOP(stream_t *streamptr) static void cdiPioClientStreamClose(stream_t *streamptr, int recordBufIsToBeDeleted) { - (void) recordBufIsToBeDeleted; int streamID = streamptr->self; int clientRank = commInqRankModel(), numClients = cdiPioCommInqSizeClients(), numColl = commInqSizeColl(), collRank = cdiPioCollRank(clientRank, numClients, numColl); @@ -401,6 +403,13 @@ cdiPioClientStreamClose(stream_t *streamptr, int recordBufIsToBeDeleted) } if (needsFlush) cdiPioClientStreamWinPost(streamID); cdiPioClientStreamWinDestroy(streamID); + if (recordBufIsToBeDeleted) switch (streamptr->filetype) + { +#ifdef HAVE_LIBGRIB + case CDI_FILETYPE_GRB: + case CDI_FILETYPE_GRB2: gribContainersDelete(streamptr); break; +#endif + } } static void -- GitLab