From: mar77i Date: Mon, 23 Mar 2026 22:38:10 +0000 (+0100) Subject: use POSIX.1-2024 close X-Git-Url: https://git.mar77i.info/?a=commitdiff_plain;h=refs%2Fheads%2Fmaster;p=perftrace use POSIX.1-2024 close --- 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; }