File: //home/arjun/projects/env/lib/python3.10/site-packages/billiard/__pycache__/context.cpython-310.pyc
o
!web3 � @ s� d dl Z d dlZd dlZd dlZddlmZ g ZdZddlm Z m
Z
mZmZm
Z
mZmZ G dd� d�ZG dd � d ej�ZG d
d� de�Zedd
� ee�D ��e_ejdkr�G dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� de�ZG dd� de�ZG dd� de�Ze� e� e� d�Zeed �ZnG dd� dej�ZG dd� de�Zde� iZeed �Zd d!� Ze� � Z!d"d#� Z"d$d%� Z#d&d'� Z$dS )(� N� )�processzIforce_execv is not supported as the billiard C extension is not installed)�ProcessError�BufferTooShort�TimeoutError�AuthenticationError�TimeLimitExceeded�SoftTimeLimitExceeded�WorkerLostErrorc @ sd e Zd ZeZeZeZeZeZeZe Z e
ej�Ze
ej
�Z
eed�r&dd� Zndd� Zdd� ZdEd d
�Zdd� Zd
d� ZdFdd�ZdGdd�ZdGdd�Zdd� ZdHdd�ZdIdd�ZdIdd�Zd d!� Z " dJd#d$�Zd%d&� Zd'd(� Zd)d*� Z d+d,� Z!d-d.� Z"d/d0� Z#dFd1d2�Z$d3d4� Z%d5d6� Z&d7d8� Z'dFd9d:�Z(dKd;d<�Z)dFd=d>�Z*d?d@� Z+dAdB� Z,dCdD� Z-dS )L�BaseContext� cpu_countc C s t �� }|du rtd��|S )z(Returns the number of CPUs in the systemN�cannot determine number of cpus)�osr �NotImplementedError)�self�num� r �I/home/arjun/projects/env/lib/python3.10/site-packages/billiard/context.pyr 2 s zBaseContext.cpu_countc
C s� t jdkrz ttjd �}W na ttfy d}Y nUw dt jv s&t jdkrZd}t jdkr1d| }zt�|��}t|�� �}W d � n1 sHw Y W n! tyY d}Y nw zt� d�}W n tt
tfyo d}Y nw |d krv|S td
��)N�win32�NUMBER_OF_PROCESSORSr �bsd�darwinz/sbin/sysctl -n hw.ncpuz/usr�SC_NPROCESSORS_ONLNr r
)
�sys�platform�intr �environ�
ValueError�KeyError�popen�read�sysconf�OSError�AttributeErrorr )r r �comm�pr r r r : s4
�
����c C s&