Documentation for os.environ should say that os.environ caching behavior is undefined if other threads are setting environment values
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Documentation
It says here:
This mapping is captured the first time the os module is imported, typically during Python startup as part of processing site.py. Changes to the environment made after this time are not reflected in os.environ, except for changes made by modifying os.environ directly.
It should mention the caveat that such cashing would cause undefined behavior or/and crashes when other threads would be setting environment values. This would be true at least on Linux and FreeBSD.
The same should be mentioned in the documentation of the function that initializes the Python interpreter and caches environment.
These functions are not thread-safe.
Linked PRs
- gh-152979
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Revisa la documentación de os.environ enlazada en el issue y la documentación de la función de inicialización del intérprete que almacena en caché el entorno. Compara la advertencia solicitada sobre la seguridad de los hilos con el PR enlazado gh-152979. Se considera completado cuando ambas áreas relevantes de la documentación describen con precisión el comportamiento cuando otros hilos modifican los valores del entorno.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- documentation, operating-systems
- Tipo de issue
- Documentación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100