On 02/23/15 13:47, Adriano dos Santos Fernandes wrote:
On 23/02/2015 07:36, Vlad Khorsun wrote:
22.02.2015 20:11, Adriano dos Santos Fernandes wrote:
A solution must be to pass a parameter to destroy methods specifying if
they should release or not the object.
Must be ? I don't think so.
23.02.2015 13:36, Vlad Khorsun wrote:
A solution must be to pass a parameter to destroy methods specifying if
they should release or not the object.
Must be ? I don't think so. I'm not ready to point to correct solution
right now, but additional parameter is not a solution, as for me.
I
25.02.2015 16:20, Dmitry Yemanov wrote:
IObject* obj = ...
...
obj-something(status); // success
...
obj-destroy(status); // detach / commit / cancel / etc
...
obj-something(status); // returns bad handle error
...
obj-release(); // destroys the object (if use_count reaches zero)
That's simple. It throws an exception. Or, if you want, it does an automatic
rollback (logically correct, but probably more dangerous).
Jim Starkey
On Feb 25, 2015, at 4:43 PM, Dmitry Yemanov firebi...@yandex.ru wrote:
25.02.2015 23:28, Dimitry Sibiryakov wrote:
make release() the
On 23/02/2015 07:36, Vlad Khorsun wrote:
22.02.2015 20:11, Adriano dos Santos Fernandes wrote:
A solution must be to pass a parameter to destroy methods specifying if
they should release or not the object.
Must be ? I don't think so. I'm not ready to point to correct solution
right now,
22.02.2015 20:11, Adriano dos Santos Fernandes wrote:
A solution must be to pass a parameter to destroy methods specifying if
they should release or not the object.
Must be ? I don't think so. I'm not ready to point to correct solution
right now, but additional parameter is not a solution,
22.02.2015 18:35, Adriano dos Santos Fernandes wrote:
So you have:
IBlob* blob = ...-openBlob(...);
blob-cancel();
// no leak
Using of smart pointers here makes life even funnier. IMHO, it is Y-valve
bug.
But in absence of API specifications it is rather as expected.
--
WBR, SD.
On 22-02-2015 14:51, Dimitry Sibiryakov wrote:
22.02.2015 18:35, Adriano dos Santos Fernandes wrote:
So you have:
IBlob* blob = ...-openBlob(...);
blob-cancel();
// no leak
Using of smart pointers here makes life even funnier. IMHO, it is Y-valve
bug.
But in absence of API
22.02.2015 19:11, Adriano dos Santos Fernandes wrote:
A solution must be to pass a parameter to destroy methods specifying if
they should release or not the object.
More dragon poker - more fun.
And of course, all implementations should follow it.
So with or without smart pointers, use
Hi!
Lets call YBlob::cancel, YTransaction::commit, YTransaction::rollback,
YEvents::cancel and maybe others as destroy methods.
Destroy methods when called in y-valve objects automatically does a
release on them.
So you have:
IBlob* blob = ...-openBlob(...);
blob-cancel();
// no leak
On the
10 matches
Mail list logo