next up previous
Next: Pruebas sugeridas Up: Librería (práctica 4: 2 Previous: int recibe(endpoint* desc, void*

int closendpoint(endpoint *desc);

Esta función destruye un endpoint liberando toda la información y memoria asociada a él. En el caso de un endpoint de escritura basta con liberar la estructura endpoint. Para un endpoint de lectura hace falta notificar a la entidad de comunicación que ya no se va a emplear más ese punto de acceso. Para ello se envía un mensaje de tipo MSG_FIN al bloque $A$.

typedef struct msg_fin
{
     int	tipo; // Tipo de mensaje MSG_FIN
     int	id_cli; // El valor del punto de acceso a liberar
} msg_fin;

A continuación se deja de emplear la zona de memoria y los semáforos, así como se libera la estructura endpoint. El bloque $A$ se encarga de destruir la zona de memoria compartida y los semáforos.



Daniel Morato 2000-11-06