Prevent SIGPIPE from terminating the macOS app

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
macos, swift

Línea de trabajo

Empieza leyendo macos/Sources/ClowderCore/UnixSocketConnection.swift alrededor de las líneas 86-100 y sigue la creación del socket a través de UnixSocketConnection.send. Añade cobertura que cierre el peer y verifique que el proceso sobrevive mientras los llamadores reciben un EPIPE o error de conexión limpio. Se considera completado cuando SIGPIPE ya no termina la aplicación macOS y la nueva prueba pasa.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug priority: high

Problem

UnixSocketConnection.send calls POSIX write(2) without suppressing SIGPIPE. If the daemon closes between the connection check and the write, Darwin can terminate the app instead of returning an error.

Evidence: https://github.com/richardcase/clowder/blob/b5492d5/macos/Sources/ClowderCore/UnixSocketConnection.swift#L86-L100

Acceptance criteria

  • Set SO_NOSIGPIPE when creating the socket, or use an equivalent safe write path.
  • Preserve clean EPIPE/connection errors for callers.
  • Add a test that closes the peer and verifies the process survives.
Lenguaje dominante
Rust
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 richardcase/clowder

Todos los issues de richardcase/clowder

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.