Opened on 04/25/2017 at 10:33:52 AM

Closed on 03/13/2018 at 01:19:25 PM

#5179 closed change (fixed)

Implement asynchronous executor with a controllable lifetime.

Reported by: sergz Assignee: sergz
Priority: P2 Milestone:
Module: Libadblockplus Keywords:
Cc: fhd, asmirnov Blocked By:
Blocking: #3595, #5180, #5183 Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29706560/

Description

Background

We run some operations in an asynchronous manner in background threads and the current approach with detached threads causes very bad effects. In particular it is a source of numerous race conditions. Therefore we need an option to wait for all currently running operations.

What to change

Such executor is implemented in https://codereview.adblockplus.org/29367507/, however the change set contains too much changes, so one can fine the SSCCE at https://gist.github.com/abby-sergz/12a2c1d25fc93c17838c878a11d7fe89.

Attachments (0)

Change History (9)

comment:1 Changed on 04/25/2017 at 10:34:34 AM by sergz

  • Blocking 5180 added

comment:2 Changed on 04/25/2017 at 10:35:55 AM by sergz

  • Blocking 5182 added

comment:3 Changed on 04/25/2017 at 10:37:32 AM by sergz

  • Blocking 5183 added

comment:4 Changed on 05/11/2017 at 10:09:55 AM by sergz

  • Blocking 5182 removed

comment:5 Changed on 07/31/2017 at 02:46:52 PM by sergz

  • Blocking 3595 added

comment:6 Changed on 02/13/2018 at 10:05:01 AM by sergz

  • Cc asmirnov added
  • Owner set to sergz

A recent case (#6365) has shown that now it's going to be important, therefore IMO it's time to finish all threading issues.

@asmirnov: when the patch is landed it can break tests of libadblockplus-android because the engine will wait for all currently running operations, and if there is at least one infinite loop then the test will never finish. Could please check it and create corresponding libadblockplus-android issues.

comment:7 Changed on 02/23/2018 at 11:17:16 AM by sergz

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:8 Changed on 03/13/2018 at 01:19:04 PM by abpbot

comment:9 Changed on 03/13/2018 at 01:19:25 PM by sergz

  • Resolution set to fixed
  • Status changed from reviewing to closed

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from sergz.
 
Note: See TracTickets for help on using tickets.