#!/bin/bash ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2016 IPFire Network Development Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### SYSTEM_PROCESSORS= # Returns the number of online processors system_get_processors() { # Cache this since the function is called quite often isset SYSTEM_PROCESSORS || SYSTEM_PROCESSORS=$(__system_get_processors) echo ${SYSTEM_PROCESSORS} } __system_get_processors() { getconf _NPROCESSORS_ONLN } system_get_next_processor() { assert [ $# -eq 1 ] local processor=${1} local processors=$(system_get_processors) # Pick the next one print $(( (${processor} + 1) % ${processors} )) }