From 9999e7d8f15827611485e1de9b32d31f9e952fb7 Mon Sep 17 00:00:00 2001 From: mar77i Date: Mon, 23 Mar 2026 23:38:10 +0100 Subject: [PATCH] use POSIX.1-2024 close --- perftrace.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/perftrace.c b/perftrace.c index 9a77228..9d0cb06 100644 --- a/perftrace.c +++ b/perftrace.c @@ -66,6 +66,19 @@ static inline void get_field_labels(char digits, char *buffer) { *ptr = '\0'; } +static inline int posix_close(int fd) { + if (close(fd) == 0) + return 0; + perror("close"); + if (errno != EINTR) + return -1; + if (close(fd) < 0) { + perror("close"); + return -1; + } + return 0; +} + static inline int perftrace_collect_details(pid_t pid, struct pid_item *item) { struct timespec utime; unsigned long ppid = 0; @@ -130,7 +143,7 @@ static inline int perftrace_collect_details(pid_t pid, struct pid_item *item) { fprintf(stderr, "Error: missing state (%s)\n", buffer); } error: - close(fd); + posix_close(fd); return ret; } -- 2.53.0