mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 02:14:37 +00:00
lib: add external support
It is already present in rpc, so lets add it to libcriu too. Signed-off-by: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
This commit is contained in:
parent
fc4e022b9a
commit
c4f4e6c926
2 changed files with 31 additions and 0 deletions
29
lib/c/criu.c
29
lib/c/criu.c
|
|
@ -840,6 +840,35 @@ int criu_add_inherit_fd(int fd, char *key)
|
|||
return criu_local_add_inherit_fd(global_opts, fd, key);
|
||||
}
|
||||
|
||||
int criu_local_add_external(criu_opts *opts, char *key)
|
||||
{
|
||||
int nr;
|
||||
char **a, *e = NULL;
|
||||
|
||||
e = strdup(key);
|
||||
if (!e)
|
||||
goto err;
|
||||
|
||||
nr = opts->rpc->n_external + 1;
|
||||
a = realloc(opts->rpc->external, nr * sizeof(*a));
|
||||
if (!a)
|
||||
goto err;
|
||||
|
||||
a[nr - 1] = e;
|
||||
opts->rpc->external = a;
|
||||
opts->rpc->n_external = nr;
|
||||
return 0;
|
||||
err:
|
||||
if (e)
|
||||
free(e);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
int criu_add_external(char *key)
|
||||
{
|
||||
return criu_local_add_external(global_opts, key);
|
||||
}
|
||||
|
||||
static CriuResp *recv_resp(int socket_fd)
|
||||
{
|
||||
unsigned char *buf = NULL;
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ int criu_add_skip_mnt(char *mnt);
|
|||
void criu_set_ghost_limit(unsigned int limit);
|
||||
int criu_add_irmap_path(char *path);
|
||||
int criu_add_inherit_fd(int fd, char *key);
|
||||
int criu_add_external(char *key);
|
||||
|
||||
/*
|
||||
* The criu_notify_arg_t na argument is an opaque
|
||||
|
|
@ -202,6 +203,7 @@ int criu_local_add_cg_props(criu_opts *opts, char *stream);
|
|||
int criu_local_add_cg_props_file(criu_opts *opts, char *path);
|
||||
int criu_local_add_cg_dump_controller(criu_opts *opts, char *name);
|
||||
int criu_local_add_inherit_fd(criu_opts *opts, int fd, char *key);
|
||||
int criu_local_add_external(criu_opts *opts, char *key);
|
||||
|
||||
void criu_local_set_notify_cb(criu_opts *opts, int (*cb)(char *action, criu_notify_arg_t na));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue