`fcntl` module provides no access to F_GETLK operation

Ouverte
#96,694 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
20/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python

Piste de recherche

Commencez par la constante F_GETLK existante du module fcntl et examinez les types struct flock dépendants de la plateforme décrits dans l'issue. Consultez les PRs liés gh-112372 et gh-96695 avant de commencer, car l'implémentation demandée a déjà été signalée comme terminée. Le travail est terminé lorsque l'accès à F_GETLK est exposé sans obliger les appelants à deviner des layouts dépendant du système d'exploitation et de CFLAGS.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

extension-modules type-feature

Wrapper/access for fcntl(fd, F_GETLK, …)

The fcntl module currently exposes the F_GETLK constant itself, but unfortunately because the types in struct flock are OS and CFLAGS dependent (off_t, pid_t), the operation is hard to work-around with struct.unpack.

Pitch

Exposing F_GETLK is particularly useful to determine if a process that created a lock file or pid file is actually still alive, vs. whether the lock/pid file was left uncleaned from a previous exit/crash/etc. The l_pid field is the most useful, but if wrapping the call anyway it might make more sense to just expose all values.

I've already implemented this, a PR is following shortly.

Linked PRs
  • gh-112372
  • gh-96695
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/cpython

Toutes les issues de python/cpython

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.