This changes the destroy_link_manager() function to:
* call a new function message_get_unlock() to unlock the sending thread from
its blocking message_get()
* calls pthread_cancel() on the receiving thread, because this unlocks any
blocking read from a file descriptor
The same message_get_unlock() function has been added ringbuffer_queue to keep
the interfaces the same (it does nothing, because ringbuffer_queue is
non-blocking).