Deprecate and Then Remove PyGILState_GetThisThreadState()
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Feature or enhancement
Proposal:
(See https://docs.python.org/3/c-api/init.html#c.PyGILState_GetThisThreadState.)
PyGILState_GetThisThreadState() was added as part of the PEP 311 implementation. However, it wasn't part of that proposal. It isn't clear that it was even meant to be public API.
If a user wants to know what the current thread state is then they should use PyThreadState_Get(). PyGILState_GetThisThreadState() is subtly different and surfaces some of the tricky PyGILState corner cases that PyThreadState_Get() blissfully ignores. A real issue here is that users are reasonably likely to stumble across PyGILState_GetThisThreadState() and, due to the name, use it instead of the proper API.
I can think of one thing that PyGILState_GetThisThreadState() does exclusively: it will tell you what existing thread state PyGILState_Ensure() will use, if any. It isn't clear to me if that's a meaningful use case.
Ultimately, I expect we would be fine to get rid of PyGILState_GetThisThreadState(). If still useful for core development, it could be moved to the internal C-API.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pela entrada da documentação da C-API para PyGILState_GetThisThreadState() e compare o comportamento declarado com o de PyThreadState_Get(). Determine o escopo acordado da descontinuação e remoção, incluindo se algum uso interno da C-API deve permanecer; a tarefa estará concluída quando houver um plano aprovado por um maintainer e as alterações correspondentes na documentação e na implementação.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- api
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 25/100