Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lxc
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
lxc
Commits
54446942
Unverified
Commit
54446942
authored
Jul 02, 2017
by
Christian Brauner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commands: rename to lxc_cmd_add_state_client()
The new wait commands API is not yet stable so this change is ok. Signed-off-by:
Christian Brauner
<
christian.brauner@ubuntu.com
>
parent
8130d864
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
35 additions
and
35 deletions
+35
-35
commands.c
src/lxc/commands.c
+30
-30
commands.h
src/lxc/commands.h
+3
-3
start.c
src/lxc/start.c
+1
-1
state.c
src/lxc/state.c
+1
-1
No files found.
src/lxc/commands.c
View file @
54446942
...
@@ -78,16 +78,16 @@ lxc_log_define(lxc_commands, lxc);
...
@@ -78,16 +78,16 @@ lxc_log_define(lxc_commands, lxc);
static
const
char
*
lxc_cmd_str
(
lxc_cmd_t
cmd
)
static
const
char
*
lxc_cmd_str
(
lxc_cmd_t
cmd
)
{
{
static
const
char
*
const
cmdname
[
LXC_CMD_MAX
]
=
{
static
const
char
*
const
cmdname
[
LXC_CMD_MAX
]
=
{
[
LXC_CMD_CONSOLE
]
=
"console"
,
[
LXC_CMD_CONSOLE
]
=
"console"
,
[
LXC_CMD_STOP
]
=
"stop"
,
[
LXC_CMD_STOP
]
=
"stop"
,
[
LXC_CMD_GET_STATE
]
=
"get_state"
,
[
LXC_CMD_GET_STATE
]
=
"get_state"
,
[
LXC_CMD_GET_INIT_PID
]
=
"get_init_pid"
,
[
LXC_CMD_GET_INIT_PID
]
=
"get_init_pid"
,
[
LXC_CMD_GET_CLONE_FLAGS
]
=
"get_clone_flags"
,
[
LXC_CMD_GET_CLONE_FLAGS
]
=
"get_clone_flags"
,
[
LXC_CMD_GET_CGROUP
]
=
"get_cgroup"
,
[
LXC_CMD_GET_CGROUP
]
=
"get_cgroup"
,
[
LXC_CMD_GET_CONFIG_ITEM
]
=
"get_config_item"
,
[
LXC_CMD_GET_CONFIG_ITEM
]
=
"get_config_item"
,
[
LXC_CMD_GET_NAME
]
=
"get_name"
,
[
LXC_CMD_GET_NAME
]
=
"get_name"
,
[
LXC_CMD_GET_LXCPATH
]
=
"get_lxcpath"
,
[
LXC_CMD_GET_LXCPATH
]
=
"get_lxcpath"
,
[
LXC_CMD_
STATE_SERVER
]
=
"state_server
"
,
[
LXC_CMD_
ADD_STATE_CLIENT
]
=
"add_state_client
"
,
};
};
if
(
cmd
>=
LXC_CMD_MAX
)
if
(
cmd
>=
LXC_CMD_MAX
)
...
@@ -232,7 +232,7 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped,
...
@@ -232,7 +232,7 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped,
bool
stay_connected
=
false
;
bool
stay_connected
=
false
;
if
(
cmd
->
req
.
cmd
==
LXC_CMD_CONSOLE
||
if
(
cmd
->
req
.
cmd
==
LXC_CMD_CONSOLE
||
cmd
->
req
.
cmd
==
LXC_CMD_
STATE_SERVER
)
cmd
->
req
.
cmd
==
LXC_CMD_
ADD_STATE_CLIENT
)
stay_connected
=
true
;
stay_connected
=
true
;
*
stopped
=
0
;
*
stopped
=
0
;
...
@@ -813,15 +813,15 @@ static int lxc_cmd_get_lxcpath_callback(int fd, struct lxc_cmd_req *req,
...
@@ -813,15 +813,15 @@ static int lxc_cmd_get_lxcpath_callback(int fd, struct lxc_cmd_req *req,
}
}
/*
/*
* lxc_cmd_
state_server
: register a client fd in the handler list
* lxc_cmd_
add_state_client
: register a client fd in the handler list
*
*
* @name : name of container to connect to
* @name : name of container to connect to
* @lxcpath : the lxcpath in which the container is running
* @lxcpath : the lxcpath in which the container is running
*
*
* Returns the lxcpath on success, NULL on failure.
* Returns the lxcpath on success, NULL on failure.
*/
*/
int
lxc_cmd_
state_server
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_
add_state_client
(
const
char
*
name
,
const
char
*
lxcpath
,
lxc_state_t
states
[
MAX_STATE
])
lxc_state_t
states
[
MAX_STATE
])
{
{
int
stopped
;
int
stopped
;
ssize_t
ret
;
ssize_t
ret
;
...
@@ -829,14 +829,14 @@ int lxc_cmd_state_server(const char *name, const char *lxcpath,
...
@@ -829,14 +829,14 @@ int lxc_cmd_state_server(const char *name, const char *lxcpath,
struct
lxc_msg
msg
=
{
0
};
struct
lxc_msg
msg
=
{
0
};
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_
STATE_SERVER
,
.
cmd
=
LXC_CMD_
ADD_STATE_CLIENT
,
.
data
=
states
,
.
data
=
states
,
.
datalen
=
(
sizeof
(
lxc_state_t
)
*
MAX_STATE
)
.
datalen
=
(
sizeof
(
lxc_state_t
)
*
MAX_STATE
)
},
},
};
};
/* Lock the whole lxc_cmd_
state_server_callback() call to ensure that
/* Lock the whole lxc_cmd_
add_state_client_callback() call to ensure
*
lxc_set_state() doesn't cause us to miss a state.
* that
lxc_set_state() doesn't cause us to miss a state.
*/
*/
process_lock
();
process_lock
();
/* Check if already in requested state. */
/* Check if already in requested state. */
...
@@ -912,8 +912,8 @@ again:
...
@@ -912,8 +912,8 @@ again:
return
msg
.
value
;
return
msg
.
value
;
}
}
static
int
lxc_cmd_
state_server
_callback
(
int
fd
,
struct
lxc_cmd_req
*
req
,
static
int
lxc_cmd_
add_state_client
_callback
(
int
fd
,
struct
lxc_cmd_req
*
req
,
struct
lxc_handler
*
handler
)
struct
lxc_handler
*
handler
)
{
{
struct
lxc_cmd_rsp
rsp
=
{
0
};
struct
lxc_cmd_rsp
rsp
=
{
0
};
struct
state_client
*
newclient
;
struct
state_client
*
newclient
;
...
@@ -957,17 +957,17 @@ static int lxc_cmd_process(int fd, struct lxc_cmd_req *req,
...
@@ -957,17 +957,17 @@ static int lxc_cmd_process(int fd, struct lxc_cmd_req *req,
typedef
int
(
*
callback
)(
int
,
struct
lxc_cmd_req
*
,
struct
lxc_handler
*
);
typedef
int
(
*
callback
)(
int
,
struct
lxc_cmd_req
*
,
struct
lxc_handler
*
);
callback
cb
[
LXC_CMD_MAX
]
=
{
callback
cb
[
LXC_CMD_MAX
]
=
{
[
LXC_CMD_CONSOLE
]
=
lxc_cmd_console_callback
,
[
LXC_CMD_CONSOLE
]
=
lxc_cmd_console_callback
,
[
LXC_CMD_CONSOLE_WINCH
]
=
lxc_cmd_console_winch_callback
,
[
LXC_CMD_CONSOLE_WINCH
]
=
lxc_cmd_console_winch_callback
,
[
LXC_CMD_STOP
]
=
lxc_cmd_stop_callback
,
[
LXC_CMD_STOP
]
=
lxc_cmd_stop_callback
,
[
LXC_CMD_GET_STATE
]
=
lxc_cmd_get_state_callback
,
[
LXC_CMD_GET_STATE
]
=
lxc_cmd_get_state_callback
,
[
LXC_CMD_GET_INIT_PID
]
=
lxc_cmd_get_init_pid_callback
,
[
LXC_CMD_GET_INIT_PID
]
=
lxc_cmd_get_init_pid_callback
,
[
LXC_CMD_GET_CLONE_FLAGS
]
=
lxc_cmd_get_clone_flags_callback
,
[
LXC_CMD_GET_CLONE_FLAGS
]
=
lxc_cmd_get_clone_flags_callback
,
[
LXC_CMD_GET_CGROUP
]
=
lxc_cmd_get_cgroup_callback
,
[
LXC_CMD_GET_CGROUP
]
=
lxc_cmd_get_cgroup_callback
,
[
LXC_CMD_GET_CONFIG_ITEM
]
=
lxc_cmd_get_config_item_callback
,
[
LXC_CMD_GET_CONFIG_ITEM
]
=
lxc_cmd_get_config_item_callback
,
[
LXC_CMD_GET_NAME
]
=
lxc_cmd_get_name_callback
,
[
LXC_CMD_GET_NAME
]
=
lxc_cmd_get_name_callback
,
[
LXC_CMD_GET_LXCPATH
]
=
lxc_cmd_get_lxcpath_callback
,
[
LXC_CMD_GET_LXCPATH
]
=
lxc_cmd_get_lxcpath_callback
,
[
LXC_CMD_
STATE_SERVER
]
=
lxc_cmd_state_server
_callback
,
[
LXC_CMD_
ADD_STATE_CLIENT
]
=
lxc_cmd_add_state_client
_callback
,
};
};
if
(
req
->
cmd
>=
LXC_CMD_MAX
)
{
if
(
req
->
cmd
>=
LXC_CMD_MAX
)
{
...
...
src/lxc/commands.h
View file @
54446942
...
@@ -43,7 +43,7 @@ typedef enum {
...
@@ -43,7 +43,7 @@ typedef enum {
LXC_CMD_GET_CONFIG_ITEM
,
LXC_CMD_GET_CONFIG_ITEM
,
LXC_CMD_GET_NAME
,
LXC_CMD_GET_NAME
,
LXC_CMD_GET_LXCPATH
,
LXC_CMD_GET_LXCPATH
,
LXC_CMD_
STATE_SERVER
,
LXC_CMD_
ADD_STATE_CLIENT
,
LXC_CMD_MAX
,
LXC_CMD_MAX
,
}
lxc_cmd_t
;
}
lxc_cmd_t
;
...
@@ -85,8 +85,8 @@ extern char *lxc_cmd_get_lxcpath(const char *hashed_sock);
...
@@ -85,8 +85,8 @@ extern char *lxc_cmd_get_lxcpath(const char *hashed_sock);
extern
pid_t
lxc_cmd_get_init_pid
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
pid_t
lxc_cmd_get_init_pid
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
int
lxc_cmd_get_state
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
int
lxc_cmd_get_state
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
int
lxc_cmd_stop
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
int
lxc_cmd_stop
(
const
char
*
name
,
const
char
*
lxcpath
);
extern
int
lxc_cmd_
state_server
(
const
char
*
name
,
const
char
*
lxcpath
,
extern
int
lxc_cmd_
add_state_client
(
const
char
*
name
,
const
char
*
lxcpath
,
lxc_state_t
states
[
MAX_STATE
]);
lxc_state_t
states
[
MAX_STATE
]);
struct
lxc_epoll_descr
;
struct
lxc_epoll_descr
;
struct
lxc_handler
;
struct
lxc_handler
;
...
...
src/lxc/start.c
View file @
54446942
...
@@ -354,7 +354,7 @@ static int lxc_serve_state_clients(const char *name,
...
@@ -354,7 +354,7 @@ static int lxc_serve_state_clients(const char *name,
process_lock
();
process_lock
();
/* Only set state under process lock held so that we don't cause
/* Only set state under process lock held so that we don't cause
* lxc_cmd_state_server
() to miss a state.
* lxc_cmd_add_state_client
() to miss a state.
*/
*/
handler
->
state
=
state
;
handler
->
state
=
state
;
TRACE
(
"set container state to %s"
,
lxc_state2str
(
state
));
TRACE
(
"set container state to %s"
,
lxc_state2str
(
state
));
...
...
src/lxc/state.c
View file @
54446942
...
@@ -114,7 +114,7 @@ extern int lxc_wait(const char *lxcname, const char *states, int timeout,
...
@@ -114,7 +114,7 @@ extern int lxc_wait(const char *lxcname, const char *states, int timeout,
if
(
fillwaitedstates
(
states
,
s
))
if
(
fillwaitedstates
(
states
,
s
))
return
-
1
;
return
-
1
;
state
=
lxc_cmd_
state_server
(
lxcname
,
lxcpath
,
s
);
state
=
lxc_cmd_
add_state_client
(
lxcname
,
lxcpath
,
s
);
if
(
state
<
0
)
{
if
(
state
<
0
)
{
SYSERROR
(
"failed to receive state from monitor"
);
SYSERROR
(
"failed to receive state from monitor"
);
return
-
1
;
return
-
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment