axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Senaka Fernando (JIRA)" <>
Subject [jira] Updated: (AXIS2C-879) Function axis2_svc_client_send_receive_non_blocking[Alastair FETTES]
Date Sat, 05 Jan 2008 08:38:34 GMT


Senaka Fernando updated AXIS2C-879:

    Attachment: diff.txt

Hi Alastair and Lahiru,

The service client frees the op client and no one has to call it. You can't explicitly create
an op_client for the svc_client AFAIK. The ownership of the payload is a well known fact.
However, this is a violation in terms of the use of the const prefix. This I believe needs
some attention.

But, as in hello.c (on the axis2/c manual), The user has the option to free the payload before
the service client frees it, and assume that he still has control over the payload until the
service client is in scope.

Therefore, there is a need to document this.


> Function axis2_svc_client_send_receive_non_blocking[Alastair FETTES]
> --------------------------------------------------------------------
>                 Key: AXIS2C-879
>                 URL:
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: samples
>    Affects Versions: Current (Nightly)
>         Environment: Ubuntu
>            Reporter: Lahiru Gunathilake
>             Fix For: Current (Nightly)
>         Attachments: diff.txt
> <snippet>
> void axis2_svc_client_send_receive_non_blocking(
>       axis2_svc_client_t*       svc_client,
>       const axutil_env_t*     env,
>       const axiom_node_t*     payload,
>       axis2_callback_t*     callback)
> </snippet>
> Problem: This function takes responsibility for the memory allocated for the parameter
payload (assumed due to access violations for free-ing), as well as the custom headers that
have been added to the parameter svc_client (again, assumed because of access violations on
free-ing). This function also takes responsibility for the memory allocated at callback, through
the following call tree:
>     axis2_svc_client_send_receive_non_blocking
>     axis2_svc_client_send_receive_non_blocking_with_op_qname
>     axis2_op_client_set_callback
> The memory is free-ed with a call to axis2_op_client_free (it is assumed that someone
calls this)
> Solution: Document memory ownership for parameters and return value. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message