[CRIU] [PATCH v2 11/57] pid: Add equel_pid() helper
Kirill Tkhai
ktkhai at virtuozzo.com
Fri Apr 7 02:00:58 PDT 2017
On 07.04.2017 03:33, Andrei Vagin wrote:
> On Tue, Mar 28, 2017 at 06:35:47PM +0300, Kirill Tkhai wrote:
>> This allows to compare pids values on the whole hierarhy.
>>
>> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
>> ---
>> criu/include/pid.h | 17 +++++++++++++++++
>> 1 file changed, 17 insertions(+)
>>
>> diff --git a/criu/include/pid.h b/criu/include/pid.h
>> index 475b17a3..478e5d0b 100644
>> --- a/criu/include/pid.h
>> +++ b/criu/include/pid.h
>> @@ -4,6 +4,7 @@
>> #include <compel/task-state.h>
>> #include "stdbool.h"
>> #include "rbtree.h"
>> +#include "log.h"
>>
>> /*
>> * Task states, used in e.g. struct pid's state.
>> @@ -45,6 +46,22 @@ struct pid {
>> } ns[1]; /* Must be at the end of struct pid */
>> };
>>
>> +#define equal_pid(a, b) \
>> +({ \
>> + int ___i, ___ret = true; \
>> + if (a->level == b->level) { \
>> + for (___i = 0; ___i < a->level; ___i++) \
>> + if (a->ns[___i].virt != b->ns[___i].virt) { \
>> + ___ret = false; \
>> + break; \
>> + } \
>> + } else { \
>> + pr_err("Wrong pid nesting level\n"); \
>
> Why do we need this message here?
It's a debug message to report that we compare variables of different dimensions
>> + ___ret = false; \
>> + } \
>> + ___ret; \
>> +})
>> +
>> /*
>> * When we have to restore a shared resource, we mush select which
>> * task should do it, and make other(s) wait for it. In order to
>>
More information about the CRIU
mailing list