X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fclean-ipc.c;h=0cfb684229f7715968c37fa0c3ff15d185822b6b;hb=51e8372fb6cca277dc7afc6e83f48a1a2b6d4dbe;hp=95d6c421998ebfd1d2a593d773a88cc8f4523693;hpb=3b22396a4b2767a98172f6915929c47738cb0a1e;p=elogind.git diff --git a/src/shared/clean-ipc.c b/src/shared/clean-ipc.c index 95d6c4219..0cfb68422 100644 --- a/src/shared/clean-ipc.c +++ b/src/shared/clean-ipc.c @@ -19,19 +19,30 @@ along with systemd; If not, see . ***/ +#include +#include +#include +#include +#include +#include +#include +#include #include -#include -#include #include +#include +#include #include -#include -#include -//#include +#include -#include "util.h" +#include "clean-ipc.h" +#include "dirent-util.h" +#include "fd-util.h" +#include "fileio.h" #include "formats-util.h" +#include "log.h" +#include "macro.h" +#include "string-util.h" #include "strv.h" -#include "clean-ipc.h" static int clean_sysvipc_shm(uid_t delete_uid) { _cleanup_fclose_ FILE *f = NULL; @@ -44,8 +55,7 @@ static int clean_sysvipc_shm(uid_t delete_uid) { if (errno == ENOENT) return 0; - log_warning_errno(errno, "Failed to open /proc/sysvipc/shm: %m"); - return -errno; + return log_warning_errno(errno, "Failed to open /proc/sysvipc/shm: %m"); } FOREACH_LINE(line, f, goto fail) { @@ -78,16 +88,16 @@ static int clean_sysvipc_shm(uid_t delete_uid) { if (errno == EIDRM || errno == EINVAL) continue; - log_warning_errno(errno, "Failed to remove SysV shared memory segment %i: %m", shmid); - ret = -errno; + ret = log_warning_errno(errno, + "Failed to remove SysV shared memory segment %i: %m", + shmid); } } return ret; fail: - log_warning_errno(errno, "Failed to read /proc/sysvipc/shm: %m"); - return -errno; + return log_warning_errno(errno, "Failed to read /proc/sysvipc/shm: %m"); } static int clean_sysvipc_sem(uid_t delete_uid) { @@ -101,8 +111,7 @@ static int clean_sysvipc_sem(uid_t delete_uid) { if (errno == ENOENT) return 0; - log_warning_errno(errno, "Failed to open /proc/sysvipc/sem: %m"); - return -errno; + return log_warning_errno(errno, "Failed to open /proc/sysvipc/sem: %m"); } FOREACH_LINE(line, f, goto fail) { @@ -130,16 +139,16 @@ static int clean_sysvipc_sem(uid_t delete_uid) { if (errno == EIDRM || errno == EINVAL) continue; - log_warning_errno(errno, "Failed to remove SysV semaphores object %i: %m", semid); - ret = -errno; + ret = log_warning_errno(errno, + "Failed to remove SysV semaphores object %i: %m", + semid); } } return ret; fail: - log_warning_errno(errno, "Failed to read /proc/sysvipc/sem: %m"); - return -errno; + return log_warning_errno(errno, "Failed to read /proc/sysvipc/sem: %m"); } static int clean_sysvipc_msg(uid_t delete_uid) { @@ -153,8 +162,7 @@ static int clean_sysvipc_msg(uid_t delete_uid) { if (errno == ENOENT) return 0; - log_warning_errno(errno, "Failed to open /proc/sysvipc/msg: %m"); - return -errno; + return log_warning_errno(errno, "Failed to open /proc/sysvipc/msg: %m"); } FOREACH_LINE(line, f, goto fail) { @@ -183,16 +191,16 @@ static int clean_sysvipc_msg(uid_t delete_uid) { if (errno == EIDRM || errno == EINVAL) continue; - log_warning_errno(errno, "Failed to remove SysV message queue %i: %m", msgid); - ret = -errno; + ret = log_warning_errno(errno, + "Failed to remove SysV message queue %i: %m", + msgid); } } return ret; fail: - log_warning_errno(errno, "Failed to read /proc/sysvipc/msg: %m"); - return -errno; + return log_warning_errno(errno, "Failed to read /proc/sysvipc/msg: %m"); } static int clean_posix_shm_internal(DIR *dir, uid_t uid) { @@ -270,15 +278,13 @@ static int clean_posix_shm(uid_t uid) { if (errno == ENOENT) return 0; - log_warning_errno(errno, "Failed to open /dev/shm: %m"); - return -errno; + return log_warning_errno(errno, "Failed to open /dev/shm: %m"); } return clean_posix_shm_internal(dir, uid); } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind static int clean_posix_mq(uid_t uid) { _cleanup_closedir_ DIR *dir = NULL; struct dirent *de; @@ -289,8 +295,7 @@ static int clean_posix_mq(uid_t uid) { if (errno == ENOENT) return 0; - log_warning_errno(errno, "Failed to open /dev/mqueue: %m"); - return -errno; + return log_warning_errno(errno, "Failed to open /dev/mqueue: %m"); } FOREACH_DIRENT(de, dir, goto fail) { @@ -304,8 +309,9 @@ static int clean_posix_mq(uid_t uid) { if (errno == ENOENT) continue; - log_warning_errno(errno, "Failed to stat() MQ segment %s: %m", de->d_name); - ret = -errno; + ret = log_warning_errno(errno, + "Failed to stat() MQ segment %s: %m", + de->d_name); continue; } @@ -319,16 +325,16 @@ static int clean_posix_mq(uid_t uid) { if (errno == ENOENT) continue; - log_warning_errno(errno, "Failed to unlink POSIX message queue %s: %m", fn); - ret = -errno; + ret = log_warning_errno(errno, + "Failed to unlink POSIX message queue %s: %m", + fn); } } return ret; fail: - log_warning_errno(errno, "Failed to read /dev/mqueue: %m"); - return -errno; + return log_warning_errno(errno, "Failed to read /dev/mqueue: %m"); } #endif // 0 @@ -355,8 +361,8 @@ int clean_ipc(uid_t uid) { if (r < 0) ret = r; -/// elogind does not use mq_open anywhere -#if 0 + +#if 0 /// elogind does not use mq_open anywhere r = clean_posix_mq(uid); if (r < 0) ret = r;