[Spice-devel] [vd_agent] udscs: Clarify the udscs_read_callback() documentation

Jonathon Jongsma jjongsma at redhat.com
Wed Nov 2 21:27:19 UTC 2016


On Wed, 2016-11-02 at 16:36 +0100, Francois Gouget wrote:
> Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
> ---
>  src/udscs.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/udscs.h b/src/udscs.h
> index e13750c..d65630d 100644
> --- a/src/udscs.h
> +++ b/src/udscs.h
> @@ -39,8 +39,9 @@ struct udscs_message_header {
>  };
>  
>  /* Callbacks with this type will be called when a complete message
> has been
> - * received. The callback may call udscs_destroy_connection, in
> which case
> - * *connp must be made NULL (which udscs_destroy_connection takes
> care of).
> + * received. The callback is responsible for free()-ing the data
> buffer. It
> + * may call udscs_destroy_connection, in which case *connp must be
> made NULL
> + * (which udscs_destroy_connection takes care of).
>   */
>  typedef void (*udscs_read_callback)(struct udscs_connection **connp,
>      struct udscs_message_header *header, uint8_t *data);


>From reading the code, it looks like the data buffer should *NOT* be
freed if udscs_destroy_connection() is called, however, since this
buffer is owned by the connection and will be freed when the connection
is destroyed. It might be worth pointing out that potential pitfall.


More information about the Spice-devel mailing list