From bd6ffb5d41f53ba6fda414df03ffb2ef57575a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 5 Nov 2015 16:52:22 +0000 Subject: [PATCH] misc make an extra flush at close, for luck get rid of a p_ --- os/streams.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/os/streams.c b/os/streams.c index 8fb06371e..53ee4cf27 100644 --- a/os/streams.c +++ b/os/streams.c @@ -145,7 +145,7 @@ int GetFreeStreamD(void) { int Yap_GetFreeStreamD(void) { return GetFreeStreamD(); } -static Int p_stream_flags(USES_REGS1) { /* '$stream_flags'(+N,-Flags) */ +static Int stream_flags(USES_REGS1) { /* '$stream_flags'(+N,-Flags) */ Term trm; trm = Deref(ARG1); if (IsVarTerm(trm) || !IsIntTerm(trm)) @@ -799,6 +799,7 @@ static Int set_stream(USES_REGS1) { /* Init current_stream */ void Yap_CloseStreams(int loud) { CACHE_REGS int sno; + fflush( NULL ); for (sno = 3; sno < MaxStreams; ++sno) { if (GLOBAL_Stream[sno].status & Free_Stream_f) continue; @@ -840,7 +841,9 @@ void Yap_CloseStreams(int loud) { static void CloseStream(int sno) { CACHE_REGS - if (!(GLOBAL_Stream[sno].status & + + fflush( NULL ); + if (!(GLOBAL_Stream[sno].status & (Null_Stream_f | Socket_Stream_f | InMemory_Stream_f | Pipe_Stream_f))) fclose(GLOBAL_Stream[sno].file); #if HAVE_SOCKET @@ -1387,7 +1390,7 @@ Yap_InitBackIO (void) } void Yap_InitIOStreams(void) { - Yap_InitCPred("$stream_flags", 2, p_stream_flags, + Yap_InitCPred("$stream_flags", 2, stream_flags, SafePredFlag | SyncPredFlag | HiddenPredFlag); Yap_InitCPred("$check_stream", 2, p_check_stream, SafePredFlag | SyncPredFlag | HiddenPredFlag); @@ -1411,7 +1414,6 @@ void Yap_InitIOStreams(void) { Yap_InitCPred("set_input", 1, set_input, SafePredFlag | SyncPredFlag); Yap_InitCPred("set_output", 1, set_output, SafePredFlag | SyncPredFlag); Yap_InitCPred("$stream", 1, p_stream, SafePredFlag | TestPredFlag); - Yap_InitCPred("$stream", 1, p_stream, SafePredFlag | TestPredFlag); #if HAVE_SELECT Yap_InitCPred("stream_select", 3, p_stream_select, SafePredFlag | SyncPredFlag);