File: //usr/lib/python3/dist-packages/mercurial/__pycache__/lock.cpython-310.pyc
o
�]Lb�/ � @ s� d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZddl m
Z
ddlmZ ddl
mZmZmZmZ ddlmZ dd � Zejd
d� �Zdd
� ZG dd� de�Zdd� ZdS )� )�absolute_importN� )�_)�getattr)�encoding�error�pycompat�util)�procutilc
C sx t �t�� �} tj�d�r:z
| dt�d�j 7 } W | S t
y9 } z|jtjtj
tjfvr.� W Y d}~| S d}~ww | S )a
Return a string which is used to differentiate pid namespaces
It's useful to detect "dead" processes and remove stale locks with
confidence. Typically it's just hostname. On modern linux, we include an
extra Linux-specific pid namespace identifier.
s linuxs /%xs /proc/self/ns/pidN)r �
strtolocal�socket�gethostnamer �sysplatform�
startswith�os�stat�st_ino�OSError�errno�ENOENT�EACCES�ENOTDIR)�result�ex� r �0/usr/lib/python3/dist-packages/mercurial/lock.py�_getlockprefix s �
���r c # s � g � d�i } dd� �� ��fdd�}zRdD ]}t t|d�}|r+|| vr+t�|�| |<