示例#1
0
文件: sysctl.c 项目: yongho-shin/criu
int sysctl_op(struct sysctl_req *req, size_t nr_req, int op)
{
    int ret = 0;
    int dir = -1;

    dir = open("/proc/sys", O_RDONLY);
    if (dir < 0) {
        pr_perror("Can't open sysctl dir");
        return -1;
    }

    while (nr_req--) {
        ret = __sysctl_op(dir, req, op);
        if (ret < 0)
            break;
        req++;
    }

    close_safe(&dir);

    return ret;
}
示例#2
0
文件: sysctl.c 项目: kawamuray/criu
int sysctl_op(struct sysctl_req *req, int op)
{
	int ret = 0;
	int dir = -1;

	if (op != CTL_PRINT && op != CTL_SHOW) {
		dir = open("/proc/sys", O_RDONLY);
		if (dir < 0) {
			pr_perror("Can't open sysctl dir");
			return -1;
		}
	}

	while (req->name) {
		ret = __sysctl_op(dir, req, op);
		if (ret < 0)
			break;
		req++;
	}

	close_safe(&dir);

	return ret;
}