Incompatible shared memory emulation strategies (Windows)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- operating-systems
Línea de trabajo
Comienza leyendo create_shared_dir_cleaning_old_and_get_filepath y los helpers relacionados con las marcas de tiempo de arranque de Windows. Compara los posibles valores de marca de tiempo para una sesión de arranque y sigue cómo la limpieza selecciona las carpetas compartidas. La tarea estará terminada cuando las aplicaciones que usan estrategias de marcas de tiempo diferentes ya no eliminen las carpetas de emulación de memoria compartida de las demás.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Info
Boost version: 1.89.0
Platform: Windows (x64)
Compiler: MSVC 14.3 (Visual Studio 2022)
Description
Boost.Interprocess uses a boot timestamp to construct unique per-boot shared memory file paths (via create_shared_dir_cleaning_old_and_get_filepath and related helpers). On each call, it also cleans up all shared folders that do not match the current boot timestamp. On Windows, the boot timestamp can be obtained through different strategies that return different values for the same boot session.
Impact
- applications that link against the same Boost.Interprocess version but use different strategies for getting the boot timestamp will clean up each others shared memory emulation folder
- same for applications that link against different versions of Boost.Interprocess, since the default changed between versions
Suggested fix
- standardize on a single reliable mechanism (if even possible) and deprecate all other strategies
- add a fallback/search mechanism that checks all possible locations for the current boot session
- exclude all possible locations for the current boot session from the cleanup in
create_shared_dir_cleaning_old_and_get_filepath
- Lenguaje dominante
- C++
- Estrellas
- 188
- Forks
- 131
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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.
Más de boostorg/interprocess
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
boostorg/interprocess#196 · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
boostorg/interprocess#274 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
boostorg/interprocess#268 · 4 comentarios ·
-
Semaphore use in signalsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
boostorg/interprocess#262 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
boostorg/interprocess#253 ·
Todos los issues de boostorg/interprocess
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
godotengine/godot#124252 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Menos de una hora Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
lldb
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
llvm/llvm-project#229592 · 11 comentarios ·
Los mantenedores suelen responder en 1 día