On 09/11/2014 03:03 PM, Peter Krempa wrote:
Subject doesn't describe what caused the build to fail.
On 09/11/14 14:57, Pavel Hrdina wrote:
Neither the rest of the commit message.
The build failed because of missing "sys/syscall.h".
Will update the commit message, thanks.
> Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> ---
> src/util/virprocess.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/virprocess.c b/src/util/virprocess.c
> index 15d8309..3dae1bd 100644
> --- a/src/util/virprocess.c
> +++ b/src/util/virprocess.c
> @@ -28,7 +28,6 @@
> #include <stdlib.h>
> #include <sys/wait.h>
> #include <unistd.h>
> -#include <sys/syscall.h>
> #if HAVE_SETRLIMIT
> # include <sys/time.h>
> # include <sys/resource.h>
> @@ -78,10 +77,21 @@ VIR_LOG_INIT("util.process");
> #endif
>
> #ifndef HAVE_SETNS
Is this set on the windows build? That's strange. Shouldn't we fix the
make system to avoid it?
This is a workaround if the HAVE_SETNS is not defined because old glibc
may not have a wrapper for this syscall. And it obviously isn't defined
for windows.
Pavel
> +# ifndef WIN32
> +# include <sys/syscall.h>
> +
> static inline int setns(int fd, int nstype)
> {
> return syscall(__NR_setns, fd, nstype);
> }
> +# else
> +static inline int setns(int fd ATTRIBUTE_UNUSED, int nstype ATTRIBUTE_UNUSED)
> +{
> + virReportSystemError(ENOSYS, "%s",
> + _("Namespaces are not supported on windows."));
> + return -1;
> +}
> +# endif /* WIN32 */
> #endif /* HAVE_SETNS */
>
> /**
>
Peter