Page MenuHomePhabricator

elementary: add a queue to postpone object destruction when necessary.
ClosedPublic

Authored by cedric on Apr 2 2019, 12:33 PM.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
cedric created this revision.Apr 2 2019, 12:33 PM
zmike added a comment.Apr 3 2019, 7:46 AM

This seems pretty useless considering freeq can be disabled. I've been disabling it for years.

cedric added a comment.Apr 3 2019, 9:05 AM
In D8540#155172, @zmike wrote:

This seems pretty useless considering freeq can be disabled. I've been disabling it for years.

You can only disable the default freeq. The postpone one is always enforced at the same point in time in the main loop (even under valgrind). It is what Eina_Slstr use for the same purpose.

raster requested changes to this revision.Apr 3 2019, 4:22 PM
raster added a subscriber: raster.

this does have a problem - nothing ever calls eina_freeq_reduce()/eina_freeq_clear()/eina_freeq_reduce(), so anything put on this freeq will never get freed until process exit.

This revision now requires changes to proceed.Apr 3 2019, 4:22 PM
cedric planned changes to this revision.Apr 6 2019, 1:03 PM

this does have a problem - nothing ever calls eina_freeq_reduce()/eina_freeq_clear()/eina_freeq_reduce(), so anything put on this freeq will never get freed until process exit.

Oh, I missed that when looking at Eina_Slstr. Will fix. Thanks.

cedric updated this revision to Diff 21251.Apr 6 2019, 5:14 PM
cedric edited the summary of this revision. (Show Details)

rebase and actually trigger object death.

bu5hm4n accepted this revision.Apr 17 2019, 12:22 AM
cedric updated this revision to Diff 21477.Apr 18 2019, 4:23 PM
cedric edited the summary of this revision. (Show Details)
cedric added reviewers: SanghyeonLee, segfaultxavi.

Rebase.

@raster can you accept this revision ? otherwise this will be in the filter for things that should be reviewed.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 21 2019, 2:37 AM
Closed by commit rEFL856a453dd8a7: elementary: add a queue to postpone object destruction when necessary. (authored by cedric, committed by Marcel Hollerbach <mail@marcel-hollerbach.de>). · Explain Why
This revision was automatically updated to reflect the committed changes.