¿Es posible bloquear un socket para un hilo? Por ejemplo, usando flock ?
Estos bloqueos están diseñados para archivos, pero toman un descriptor de archivo genérico como parámetro.
La documentación establece específicamente que flock está destinado a archivos. Desde la página de documentación de MacOS (hombre): (énfasis agregado)
Flock() aplica o elimina un bloqueo de aviso en el archivo asociado con el descriptor de archivo fd.
En particular, esto está destinado a la sincronización entre procesos en el mismo archivo . Suponiendo que está intentando bloquear entre subprocesos dentro de un proceso, parece prudente confiar en su lugar en pthread_mutex_lock/unlock. (Está a punto de hacer un IO lento, por lo que tampoco me molestaría con spinlocks).
Espero que ayude,