]> git.eshelyaron.com Git - emacs.git/commitdiff
Adapt the recent 'num_processors' change to MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Mon, 11 Oct 2021 12:56:31 +0000 (15:56 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 11 Oct 2021 12:56:31 +0000 (15:56 +0300)
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nproc): Omit nproc.

* src/w32.c (num_processors): New function.
* src/w32proc.c (Fw32_get_nproc): Remove.

nt/gnulib-cfg.mk
src/w32.c
src/w32proc.c

index f1f4c4c27902c47b24df7b828a010255950f32a3..e9f00e748ead641891a702c7d914235b672a64a6 100644 (file)
@@ -73,3 +73,4 @@ OMIT_GNULIB_MODULE_lchmod = true
 OMIT_GNULIB_MODULE_futimens = true
 OMIT_GNULIB_MODULE_utimensat = true
 OMIT_GNULIB_MODULE_file-has-acl = true
+OMIT_GNULIB_MODULE_nproc = true
index 0eb69d4b1d15d0cad3568dbfa6e3eb7300b020f5..9fe698d28d7207bc00225c609009c49387ab781f 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -39,6 +39,7 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 #include <sys/time.h>
 #include <sys/utime.h>
 #include <math.h>
+#include <nproc.h>
 
 /* Include (most) CRT headers *before* ms-w32.h.  */
 #include <ms-w32.h>
@@ -1962,6 +1963,16 @@ w32_get_nproc (void)
   return num_of_processors;
 }
 
+/* Emulate Gnulib's 'num_processors'.  We cannot use the Gnulib
+   version because it unconditionally calls APIs that aren't available
+   on old MS-Windows versions.  */
+unsigned long
+num_processors (enum nproc_query query)
+{
+  /* We ignore QUERY.  */
+  return w32_get_nproc ();
+}
+
 static void
 sample_system_load (ULONGLONG *idle, ULONGLONG *kernel, ULONGLONG *user)
 {
index 3b7d92a2aa8930364a397e04fdea6fe33592d981..360f45e9e11d9e5a1db90bc43fa780c0a53a516e 100644 (file)
@@ -3878,15 +3878,6 @@ w32_compare_strings (const char *s1, const char *s2, char *locname,
   return val - 2;
 }
 
-/* FIXME: Remove, merging any of its special features into num-processors.  */
-DEFUN ("w32-get-nproc", Fw32_get_nproc,
-       Sw32_get_nproc, 0, 0, 0,
-       doc: /* Return the number of system's processor execution units.  */)
-  (void)
-{
-  return make_fixnum (w32_get_nproc ());
-}
-
 \f
 void
 syms_of_ntproc (void)
@@ -3921,8 +3912,6 @@ syms_of_ntproc (void)
   defsubr (&Sw32_get_keyboard_layout);
   defsubr (&Sw32_set_keyboard_layout);
 
-  defsubr (&Sw32_get_nproc);
-
   DEFVAR_LISP ("w32-quote-process-args", Vw32_quote_process_args,
               doc: /* Non-nil enables quoting of process arguments to ensure correct parsing.
 Because Windows does not directly pass argv arrays to child processes,