# HG changeset patch # User Paul Boddie # Date 1217613578 -7200 # Node ID a112edd9507d5cb0e89058f2f123e54b235aa470 # Parent db8366eed1d80873bf260592d348a87ded08eba6 Added an implementation of get_number_of_cores for Solaris. diff -r db8366eed1d8 -r a112edd9507d pprocess.py --- a/pprocess.py Sun Jun 08 19:44:10 2008 +0000 +++ b/pprocess.py Fri Aug 01 19:59:38 2008 +0200 @@ -818,7 +818,7 @@ _cpuinfo_fields = "physical id", "core id" -def get_number_of_cores(): +def _get_number_of_cores(): """ Return the number of distinct, genuine processor cores. If the platform is @@ -853,6 +853,19 @@ except OSError: return None +def _get_number_of_cores_solaris(): + + """ + Return the number of cores for OpenSolaris 2008.05 and possibly other + editions of Solaris. + """ + + f = os.popen("psrinfo -p") + try: + return int(f.read().strip()) + finally: + f.close() + # Low-level functions. def create_socketpair(): @@ -899,8 +912,10 @@ if platform.system() == "SunOS": create = create_pipes + get_number_of_cores = _get_number_of_cores_solaris else: create = create_socketpair + get_number_of_cores = _get_number_of_cores def create_persistent(address):