chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
timesync: use safe_close() where possible
[elogind.git]
/
src
/
readahead
/
readahead-collect.c
diff --git
a/src/readahead/readahead-collect.c
b/src/readahead/readahead-collect.c
index 6b748664c310b8a69603d772d5f156638d17bcf0..c1afd0d605226259a74ac458601faa2f886a5544 100644
(file)
--- a/
src/readahead/readahead-collect.c
+++ b/
src/readahead/readahead-collect.c
@@
-129,8
+129,7
@@
static int pack_file(FILE *pack, const char *fn, bool on_btrfs) {
}
pages = l / page_size();
}
pages = l / page_size();
- vec = alloca(pages);
- memset(vec, 0, pages);
+ vec = alloca0(pages);
if (mincore(start, l, vec) < 0) {
log_warning("mincore(%s) failed: %m", fn);
r = -errno;
if (mincore(start, l, vec) < 0) {
log_warning("mincore(%s) failed: %m", fn);
r = -errno;
@@
-177,8
+176,7
@@
finish:
if (start != MAP_FAILED)
munmap(start, l);
if (start != MAP_FAILED)
munmap(start, l);
- if (fd >= 0)
- close_nointr_nofail(fd);
+ safe_close(fd);
return r;
}
return r;
}
@@
-415,7
+413,8
@@
static int collect(const char *root) {
}
}
}
}
- if ((n = read(fanotify_fd, &data, sizeof(data))) < 0) {
+ n = read(fanotify_fd, &data, sizeof(data));
+ if (n < 0) {
if (errno == EINTR || errno == EAGAIN)
continue;
if (errno == EINTR || errno == EAGAIN)
continue;
@@
-436,7
+435,7
@@
static int collect(const char *root) {
}
for (m = &data.metadata; FAN_EVENT_OK(m, n); m = FAN_EVENT_NEXT(m, n)) {
}
for (m = &data.metadata; FAN_EVENT_OK(m, n); m = FAN_EVENT_NEXT(m, n)) {
- char fn[
PATH_MAX
];
+ char fn[
sizeof("/proc/self/fd/") + DECIMAL_STR_MAX(int)
];
int k;
if (m->fd < 0)
int k;
if (m->fd < 0)
@@
-450,9
+449,8
@@
static int collect(const char *root) {
goto next_iteration;
snprintf(fn, sizeof(fn), "/proc/self/fd/%i", m->fd);
goto next_iteration;
snprintf(fn, sizeof(fn), "/proc/self/fd/%i", m->fd);
- char_array_0(fn);
-
- if ((k = readlink_malloc(fn, &p)) >= 0) {
+ k = readlink_malloc(fn, &p);
+ if (k >= 0) {
if (startswith(p, "/tmp") ||
endswith(p, " (deleted)") ||
hashmap_get(files, p))
if (startswith(p, "/tmp") ||
endswith(p, " (deleted)") ||
hashmap_get(files, p))
@@
-494,16
+492,12
@@
static int collect(const char *root) {
log_warning("readlink(%s) failed: %s", fn, strerror(-k));
next_iteration:
log_warning("readlink(%s) failed: %s", fn, strerror(-k));
next_iteration:
- if (m->fd >= 0)
- close_nointr_nofail(m->fd);
+ safe_close(m->fd);
}
}
done:
}
}
done:
- if (fanotify_fd >= 0) {
- close_nointr_nofail(fanotify_fd);
- fanotify_fd = -1;
- }
+ fanotify_fd = safe_close(fanotify_fd);
log_debug("Writing Pack File...");
log_debug("Writing Pack File...");
@@
-593,14
+587,9
@@
done:
log_debug("Done.");
finish:
log_debug("Done.");
finish:
- if (fanotify_fd >= 0)
- close_nointr_nofail(fanotify_fd);
-
- if (signal_fd >= 0)
- close_nointr_nofail(signal_fd);
-
- if (inotify_fd >= 0)
- close_nointr_nofail(inotify_fd);
+ safe_close(fanotify_fd);
+ safe_close(signal_fd);
+ safe_close(inotify_fd);
if (pack) {
fclose(pack);
if (pack) {
fclose(pack);