lookip: Disconnect asynchronously to avoid dead-locking watcher unregistration
[strongswan.git] / src / libstrongswan / networking / streams / stream.h
index 8cd8419..3516d91 100644 (file)
@@ -39,9 +39,8 @@ typedef stream_t*(*stream_constructor_t)(char *uri);
 /**
  * Callback function prototype, called when stream is ready.
  *
- * It is not allowed to destroy the stream during the callback, this would
- * deadlock. Instead, return FALSE to destroy the stream. It is not allowed
- * to call on_read()/on_write() during this callback.
+ * It is not allowed to destroy the stream nor to call on_read()/on_write/()
+ * during the callback.
  *
  * As select() may return even if a read()/write() would actually block, it is
  * recommended to use the non-blocking calls and handle return values
@@ -49,7 +48,7 @@ typedef stream_t*(*stream_constructor_t)(char *uri);
  *
  * @param data                 data passed during callback registration
  * @param stream               associated stream
- * @return                             FALSE to destroy the stream
+ * @return                             FALSE unregisters the invoked callback, TRUE keeps it
  */
 typedef bool (*stream_cb_t)(void *data, stream_t *stream);