Cómo compartir semáforos entre procesos usando memoria compartida

Tengo que sincronizar N procesos de cliente con un servidor. Estos procesos están bifurcados por una función principal en la que declaró 3 semáforos. Decidí usar los semáforos POSIX pero no sé cómo compartirlos entre estos procesos. Pensé que la memoria compartida debería funcionar correctamente, pero tengo algunas preguntas:

¿Cómo puedo asignar el espacio correcto de memoria en mi segmento?Puedo usarsizeof(sem_t) insize_t campo deshmget para asignar exactamente el espacio que necesito? ¿Alguien tiene algunos ejemplos similares a esta situación?

Respuestas a la pregunta(8)

Su respuesta a la pregunta