[libvirt] [PATCH] util/virprocess.c: fix MinGW build
Pavel Hrdina
phrdina at redhat.com
Thu Sep 11 13:12:45 UTC 2014
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 at 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
>
More information about the libvir-list
mailing list