Commit Graph

14 Commits

Author SHA1 Message Date
Danilo Del Busso
82ffd50271 CA-379971: Ensure ParallelAction is not waiting on _lock when no actions are running
There is a chance that all actions have completed before we hit the `Wait` call, we need to make sure we don't hit a deadlock.

This can happen if for instance there is only one action, and it is a "dummy" action, such as the one used in the EUA check.

Also I have removed the compound assignment for the `volatile _completedActionsCount` since Visual Studio was flagging it as a "suspicious usage of a volatile variable". I personally don't think it's a problem but better safe than sorry.

Contains minor whitespace fixes, too

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-10-26 11:17:03 +01:00
Konstantina Chremmou
d7b519a53c Updated copyright notice on files.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-01-30 16:24:16 +00:00
Konstantina Chremmou
dce02a2562 Renamed AsyncAction.RunExternal to AsyncAction.RunSync so it is more descriptive.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2022-04-06 13:11:34 +01:00
Konstantina Chremmou
81d5c508a1 Refactoring suggested by code review (largely naming conventions).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2022-03-28 13:43:24 +01:00
Konstantina Chremmou
a91dd6398d Compacted ParallelAction and MultipleAction constructors.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2022-03-21 13:50:27 +00:00
Konstantina Chremmou
a342adc859 CA-364152: Do not calculate completed percentage if there are no actions to run.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2022-02-23 12:38:02 +00:00
Gabor Apati-Nagy
7c0bc50b4a CA-176169: Changed copyright statements to include the comma in Citrix Systems,
Inc.

Signed-off-by: Gabor Apati-Nagy<gabor.apati-nagy@citrix.com>
2017-01-16 19:59:50 +00:00
Mihaela Stoica
24d67cca10 Fix an error in ParallelAction with no subactions
- Immediately complete the ParallelAction when there are no subactions to be executed, to avoid on infinite lock while waiting for the actions to be completed.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-09-01 17:42:07 +01:00
Mihaela Stoica
f914f03c21 CA-210549: Make MultipleAction and ParallelAction cancellable
- Fixed the way we calculate PercentComplete for ParallelAction: use the sum of actions in actionsByConnection and actionsWithNoConnection instead of subActions.Count, to avoid waiting for the completion of actions that we never start, because we exclude actions with disconnected connections from actionsByConnections
2016-08-09 10:03:11 +01:00
Mihaela Stoica
56038e3eba CA-210549: Make MultipleAction and ParallelAction cancellable
- The multiple action is cancellable if is at least one sub action is not completed
- When a multiple action is cancelled, we try to cancel all sub actions that are not completed
- Also changed the way we calculate the percent complete for the parent action, to report partial progress of the sub actions

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-08-05 15:46:07 +01:00
Mihaela Stoica
fcee4d8876 CA-77990: Report required actions for all VMs at once in the hotfix wizard / RPUW (#951)
* CA-77990: Report required actions for all VMs at once in the hotfix wizard / RPUW

* CA-77990: Resolve precheck problems in parallel in the Patching wizard

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

* CA-77990: Resolve precheck problems in parallel in the Patching wizard

Changes following code review: Made the ParallelAction work across connections and removed CrossConnectionParallelAction

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

* CA-77990: Modified ParallelAction to create queue on RunSubActions only, with the correct queue size

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-06-07 17:40:59 +01:00
Gabor Apati-Nagy
19409f8e20 [CA-112327] Fixed Bug in BatchingMigrateVirtualDiskManager class 2013-11-04 12:35:12 +00:00
Konstantina Chremmou
077cb17deb CP-5750: Changed the declaration for the ActionBase events Completed, Changed and
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-09 17:20:33 +01:00
Mihaela Stoica
bd36a85bff CP-4816: Initial commit to git repo
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-06-24 12:41:48 +01:00