[PATCH] PR58669: does not detect all cpu cores/threads
Andrew <[email protected]> Fri, 18 Oct 2013 02:15:42 +0100
| Newsgroups | gmane.comp.gcc.java.patches,gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58669 Testing: $ /usr/lib/jvm/icedtea-6/bin/java TestProcessors Processors: 8 $ /usr/lib/jvm/gcj-jdk/bin/java -version java version "1.5.0" gij (GNU libgcj) version 4.8.1 $ /usr/lib/jvm/gcj-jdk/bin/java TestProcessors Processors: 1 $ /home/andrew/build/gcj/bin/gij -version java version "1.5.0" gij (GNU libgcj) version 4.9.0 20131013 (experimental) [trunk revision 203508] $ /home/andrew/build/gcj/bin/gij TestProcessors Processors: 8 ChangeLog: 2013-10-12 Andrew John Hughes <[email protected]> * java/lang/natRuntime.cc: (availableProcessors()): Implement. Fixes PR gcc/58669. Ok for trunk and 4.8? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
pr58669.patch
(text/x-diff, 634 B)
Index: libjava/java/lang/natRuntime.cc
===================================================================
--- libjava/java/lang/natRuntime.cc (revision 203508)
+++ libjava/java/lang/natRuntime.cc (working copy)
@@ -48,6 +48,10 @@
#include <langinfo.h>
#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
#ifdef USE_LTDL
@@ -303,8 +307,15 @@
jint
java::lang::Runtime::availableProcessors (void)
{
- // FIXME: find the real value.
- return 1;
+ long procs = -1;
+
+#ifdef HAVE_UNISTD_H
+ procs = sysconf(_SC_NPROCESSORS_ONLN);
+#endif
+
+ if (procs == -1)
+ return 1;
+ return (jint) procs;
}
jstring
signature.asc
(application/pgp-signature, 836 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) iQIcBAEBCgAGBQJSYIu9AAoJEDuWpXgki9wHP1EP/iT3yGhWzOMnUSCX5UUf/n4N lfhoD2Kmq8JWPH9VqYY2SK8n3BsYyrgSThsNgpcHqG+fBrMn0za9WMhpEEfKE8kv PAvx9QKcLiV03KHjkqyx/DxBE6zxqPjVaPQmuwhzkNSuhGeSyE5bgy7P9huXeSrE wMee/RuEcSFAHN7Z7Fytt3hX0Qx0uX8CmhUwL52l398wo9VOQmdRNckInXCaJ6Wg mshYO3BROio+c6n5fipxpIDSveuan1KRP+RH5Xoq/YCqBwOT2QyGDnxvwTIrqRP0 d1f98ENPuGt1KPh/SFVnl6YkcZnyGgNBWqZMNk3cYkiE7/mAmIDYoOoo4wq6dUId iXpx/+litC1eD3HeJWAEphzpDkT9bqVbBz85+QwzzggTlfzKwcOjaIBAm9QZyJDp RBYWDzzOODI0gutLBaIBrl4DLIv2gYngWfYLDDZkD3K0I+0xWyV2MtqLPF5GvYOU C0st2nG6cHzQRtNiU/gN4K3ASB4ZHK5nlL1r1WqjGBW4i3d43rA9fCT0CeYSSSD6 lZF0rJmY/cJik4e0uveCjwflPuRXTiceyYBFj0IJI5bd18vWR880Z0pGK3hWcrwm HS4Da/JQjf3UB1Oc0O/tlkhsSjnll8k2QwQ8NzXdzkZpMZd1TqE4OShUbyz4qu7C 78yRhXGHMqwTA6cvXkt4 =dreJ -----END PGP SIGNATURE-----