Re: [Vala] libsoup Session.Async does not send stuff



Perhaps this is not a vapi bug.
Perhaps in vala a closure cannot
live longer than the scope wherein
it is created. Is that the case?

It can, the argument just needs to be owned.  Perhaps you're using and
old version of Vala, because unless I'm mistaken this should be fixed
with 0.22... see bug #704176.

Was on 0.21. Now upgraded to 0.22.
It works!


The call is now compiled to:

    soup_session_queue_message ((SoupSession*) session, _tmp22_,
___lambda2__soup_session_callback, block1_data_ref (_data1_));


_data1_ got freed when the lamda is executed, like so:

    static void ___lambda2__soup_session_callback (SoupSession* session,
SoupMessage* msg, gpointer self) {
        __lambda2_ (self, session, msg);
        block1_data_unref (self);
    }


Apparently the live of "session" is taken care of by
soup_session_queue_message itself. So "session" doesn't need
to be "global".


Nice day
Nor Jaidi Tuah




PRIVILEGED/CONFIDENTIAL information may be contained in this message. If you are neither the addressee 
(intended recipient) nor an authorised recipient of the addressee, and have received this message in error, 
please destroy this message (including attachments) and notify the sender immediately. STRICT PROHIBITION: 
This message, whether in part or in whole, should not be reviewed, retained, copied, reused, disclosed, 
distributed or used for any purpose whatsoever. Such unauthorised use may be unlawful and may contain 
material protected by the Official Secrets Act (Cap 153) of the Laws of Brunei Darussalam. DISCLAIMER: 
We/This Department/The Government of Brunei Darussalam, accept[s] no responsibility for loss or damage 
arising from the use of this message in any manner whatsoever. Our messages are checked for viruses but we do 
not accept liability for any viruses which may be transmitted in or with this message.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]