From: Michael Tremer Date: Tue, 28 Jan 2025 17:43:21 +0000 (+0000) Subject: log stream: Add function to close the stream X-Git-Tag: 0.9.30~314 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7aa20958d29094cf42a9a2acae184a832064e80;p=pakfire.git log stream: Add function to close the stream Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/log_stream.c b/src/pakfire/log_stream.c index 2eeea583..5bed8fa1 100644 --- a/src/pakfire/log_stream.c +++ b/src/pakfire/log_stream.c @@ -50,10 +50,7 @@ static void pakfire_log_stream_free(struct pakfire_log_stream* stream) { stream->event = sd_event_source_unref(stream->event); // Close the pipe - if (stream->pipe[0] >= 0) - close(stream->pipe[0]); - if (stream->pipe[1] >= 0) - close(stream->pipe[1]); + pakfire_log_stream_close(stream); if (stream->ctx) pakfire_ctx_unref(stream->ctx); @@ -231,3 +228,17 @@ int pakfire_log_stream_write(struct pakfire_log_stream* stream, const char* form // Send the message into the pipe return vdprintf(stream->pipe[1], format, args); } + +int pakfire_log_stream_close(struct pakfire_log_stream* stream) { + if (stream->pipe[0] >= 0) { + close(stream->pipe[0]); + stream->pipe[0] = -EBADF; + } + + if (stream->pipe[1] >= 0) { + close(stream->pipe[1]); + stream->pipe[1] = -EBADF; + } + + return 0; +} diff --git a/src/pakfire/log_stream.h b/src/pakfire/log_stream.h index 7d740a21..e9167548 100644 --- a/src/pakfire/log_stream.h +++ b/src/pakfire/log_stream.h @@ -43,4 +43,6 @@ int pakfire_log_stream_in_child(struct pakfire_log_stream* stream); int pakfire_log_stream_write(struct pakfire_log_stream* stream, const char* format, va_list args) __attribute__((format(printf, 2, 0))); +int pakfire_log_stream_close(struct pakfire_log_stream* stream); + #endif /* PAKFIRE_LOG_STREAM_H */