2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 06:15:24 +00:00

signalfd: Add proc fdinfo parsing facility

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Pavel Emelyanov
2012-08-02 12:25:18 +04:00
parent 0401664144
commit 8097a8dc09
2 changed files with 18 additions and 0 deletions

View File

@@ -8,6 +8,7 @@
#include "../protobuf/eventfd.pb-c.h"
#include "../protobuf/eventpoll.pb-c.h"
#include "../protobuf/signalfd.pb-c.h"
#include "../protobuf/inotify.pb-c.h"
#define PROC_TASK_COMM_LEN 32
@@ -124,6 +125,7 @@ extern int parse_pid_status(pid_t pid, struct proc_status_creds *);
union fdinfo_entries {
EventfdFileEntry efd;
EventpollTfdEntry epl;
SignalfdEntry sfd;
InotifyWdEntry ify;
};

View File

@@ -762,6 +762,22 @@ int parse_fdinfo(int fd, int type,
entry_met = true;
continue;
}
if (fdinfo_field(str, "sigmask")) {
signalfd_entry__init(&entry.sfd);
if (type != FD_TYPES__SIGNALFD)
goto parse_err;
ret = sscanf(str, "sigmask: %Lx",
(unsigned long long *)&entry.sfd.sigmask);
if (ret != 1)
goto parse_err;
ret = cb(&entry, arg);
if (ret)
return ret;
entry_met = true;
continue;
}
if (fdinfo_field(str, "inotify wd")) {
FhEntry f_handle = FH_ENTRY__INIT;
int hoff;