Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Incompatible shared memory emulation strategies (Windows)

Abierto
#279 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de boostorg/interprocess

Todos los issues de boostorg/interprocess

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.