ports/sysutils/squashfs-tools/patches/patch-squashfs-tools_unsquashfs_c

48 lines
1.3 KiB
Text

https://github.com/plougher/squashfs-tools/pull/69
with the lutimes(3) changes removed and prefer _SC_NPROCESSORS_ONLN
Index: squashfs-tools/unsquashfs.c
--- squashfs-tools/unsquashfs.c.orig
+++ squashfs-tools/unsquashfs.c
@@ -32,8 +32,13 @@
#include "stdarg.h"
#include "fnmatch_compat.h"
+#ifndef _SC_NPROCESSORS_ONLN
+#include <sys/sysctl.h>
+#endif
+#ifdef linux
#include <sys/sysinfo.h>
#include <sys/sysmacros.h>
+#endif
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
@@ -2245,6 +2250,7 @@ void initialise_threads(int fragment_buffer_size, int
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGQUIT);
sigaddset(&sigmask, SIGHUP);
+ sigaddset(&sigmask, SIGALRM);
if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) != 0)
EXIT_UNSQUASH("Failed to set signal mask in initialise_threads"
"\n");
@@ -2261,7 +2267,9 @@ void initialise_threads(int fragment_buffer_size, int
"\n");
if(processors == -1) {
-#ifndef linux
+#ifdef _SC_NPROCESSORS_ONLN
+ processors = sysconf(_SC_NPROCESSORS_ONLN);
+#else
int mib[2];
size_t len = sizeof(processors);
@@ -2277,8 +2285,6 @@ void initialise_threads(int fragment_buffer_size, int
"Defaulting to 1\n");
processors = 1;
}
-#else
- processors = sysconf(_SC_NPROCESSORS_ONLN);
#endif
}