[PATCH 04/31] comm_if: Define the meaning of ->sendmsg returning false

Ian Jackson ijackson at chiark.greenend.org.uk
Sat Sep 20 01:31:59 BST 2014

site's transport logic is going to want to know when a failure occurs
which is attributable to the address being unsuitable for the local
network environment (eg v4 address on v6-only host).

Use the boolean return value from sendmsg for that.

At the moment all the callers ignore the return value, and the only
actual sendmsg function always returns true.  This is consistent with
the new semantics.

Therefore, no functional change in this patch.

Signed-off-by: Ian Jackson <ijackson at chiark.greenend.org.uk>
 secnet.h |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/secnet.h b/secnet.h
index 194341c..a98d15a 100644
--- a/secnet.h
+++ b/secnet.h
@@ -333,6 +333,9 @@ typedef void comm_release_notify_fn(void *commst, void *nst,
 				    comm_notify_fn *fn);
 typedef bool_t comm_sendmsg_fn(void *commst, struct buffer_if *buf,
 			       const struct comm_addr *dest);
+  /* Only returns false if (we know that) the local network
+   * environment is such that this address cannot work; transient
+   * or unknown/unexpected failures return true. */
 typedef const char *comm_addr_to_string_fn(void *commst,
 					   const struct comm_addr *ca);
         /* Returned string is in a static buffer. */

More information about the sgo-software-discuss mailing list