Message ID | 1456109555-28299-5-git-send-email-wency@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Feb 22, 2016 at 10:52:08AM +0800, Wen Congyang wrote: > It is pure refactoring and no functional changes. > > Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> Assuming this is going to be used later: Acked-by: Wei Liu <wei.liu2@citrix.com> > --- > tools/libxl/libxl_save_callout.c | 24 ++++++++++++++++-------- > 1 file changed, 16 insertions(+), 8 deletions(-) > > diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c > index 7f1f5d4..a885504 100644 > --- a/tools/libxl/libxl_save_callout.c > +++ b/tools/libxl/libxl_save_callout.c > @@ -118,6 +118,21 @@ void libxl__save_helper_init(libxl__save_helper_state *shs) > } > > /*----- helper execution -----*/ > +static int dup_fd_helper(libxl__gc *gc, int fd, const char *what) > +{ > + int dup_fd = fd; > + > + if (fd <= 2) { > + dup_fd = dup(fd); > + if (dup_fd < 0) { > + LOGE(ERROR,"dup %s", what); > + exit(-1); > + } > + } > + libxl_fd_set_cloexec(CTX, dup_fd, 0); > + > + return dup_fd; > +} > > /* > * Both save and restore share four parameters: > @@ -186,14 +201,7 @@ static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs, > > pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited); > if (!pid) { > - if (stream_fd <= 2) { > - stream_fd = dup(stream_fd); > - if (stream_fd < 0) { > - LOGE(ERROR,"dup migration stream fd"); > - exit(-1); > - } > - } > - libxl_fd_set_cloexec(CTX, stream_fd, 0); > + stream_fd = dup_fd_helper(gc, stream_fd, "migration stream fd"); > *stream_fd_arg = GCSPRINTF("%d", stream_fd); > > for (i=0; i<num_preserve_fds; i++) > -- > 2.5.0 > > >
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c index 7f1f5d4..a885504 100644 --- a/tools/libxl/libxl_save_callout.c +++ b/tools/libxl/libxl_save_callout.c @@ -118,6 +118,21 @@ void libxl__save_helper_init(libxl__save_helper_state *shs) } /*----- helper execution -----*/ +static int dup_fd_helper(libxl__gc *gc, int fd, const char *what) +{ + int dup_fd = fd; + + if (fd <= 2) { + dup_fd = dup(fd); + if (dup_fd < 0) { + LOGE(ERROR,"dup %s", what); + exit(-1); + } + } + libxl_fd_set_cloexec(CTX, dup_fd, 0); + + return dup_fd; +} /* * Both save and restore share four parameters: @@ -186,14 +201,7 @@ static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs, pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited); if (!pid) { - if (stream_fd <= 2) { - stream_fd = dup(stream_fd); - if (stream_fd < 0) { - LOGE(ERROR,"dup migration stream fd"); - exit(-1); - } - } - libxl_fd_set_cloexec(CTX, stream_fd, 0); + stream_fd = dup_fd_helper(gc, stream_fd, "migration stream fd"); *stream_fd_arg = GCSPRINTF("%d", stream_fd); for (i=0; i<num_preserve_fds; i++)
It is pure refactoring and no functional changes. Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> --- tools/libxl/libxl_save_callout.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-)