diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-03-30 09:52:17 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-01 09:15:28 +0200 |
commit | 4ccf797155d9be95129c5bc51c8e73faead6bcfd (patch) | |
tree | 3b6bb497ce3fa120a4ac4f1d265f9e163e93ce50 | |
parent | ftpd: Fairplay (diff) | |
download | rtems-libbsd-4ccf797155d9be95129c5bc51c8e73faead6bcfd.tar.bz2 |
Fix maxid and maxcpus sysctls
This prevents an infinte loop in netstat -m on SMP configurations.
-rw-r--r-- | rtemsbsd/rtems/rtems-bsd-init.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/rtemsbsd/rtems/rtems-bsd-init.c b/rtemsbsd/rtems/rtems-bsd-init.c index 43c19529..f7fcd270 100644 --- a/rtemsbsd/rtems/rtems-bsd-init.c +++ b/rtemsbsd/rtems/rtems-bsd-init.c @@ -77,13 +77,13 @@ struct timeval boottime; static SYSCTL_NODE(_kern, OID_AUTO, smp, CTLFLAG_RD|CTLFLAG_CAPRD, NULL, "Kernel SMP"); -static int one = 1; +static int maxid_maxcpus; -SYSCTL_INT(_kern_smp, OID_AUTO, maxid, CTLFLAG_RD|CTLFLAG_CAPRD, &one, 0, - "Max CPU ID."); +SYSCTL_INT(_kern_smp, OID_AUTO, maxid, CTLFLAG_RD|CTLFLAG_CAPRD, + &maxid_maxcpus, 0, "Max CPU ID."); -SYSCTL_INT(_kern_smp, OID_AUTO, maxcpus, CTLFLAG_RD|CTLFLAG_CAPRD, &one, - 0, "Max number of CPUs that the system was compiled for."); +SYSCTL_INT(_kern_smp, OID_AUTO, maxcpus, CTLFLAG_RD|CTLFLAG_CAPRD, + &maxid_maxcpus, 0, "Max number of CPUs that the system was compiled for."); rtems_status_code rtems_bsd_initialize(void) @@ -94,6 +94,7 @@ rtems_bsd_initialize(void) hz = (int) rtems_clock_get_ticks_per_second(); tick = 1000000 / hz; maxusers = 1; + maxid_maxcpus = (int) rtems_get_processor_count(); gettimeofday(&boottime, NULL); timeval2bintime(&boottime, &boottimebin); |