terminate agrega una devolución de llamada a cada puerto para detectar cuándo la cola
se vacía. Para tener en cuenta esto y cualquier devolución de llamada puesta en cola anteriormente,
se llama continuamente a dispatch hasta que devuelve false.
