Ticket #1163 (closed defect: invalid)

Opened 7 years ago

Last modified 7 years ago

DynamicPlugin instances should keep a local copy of their DynamicPluginInfo

Reported by: curtis Owned by: bdezonia
Priority: major Milestone: imagej2-b3-headless
Component: Plugin Framework Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1051

Description

Currently, if you try to run the same DynamicPlugin with two different inputs simultaneously, they will end up manipulating the same DynamicPluginInfo object in incompatible ways. The result is very much not thread safe.

Instead, DynamicPlugins should each work with their own copy of their DynamicPluginInfo, to avoid any conflicts.

Change History

comment:1 Changed 7 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:2 Changed 7 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta3

comment:3 Changed 7 years ago by curtis

  • Blocking 1051 added

comment:4 Changed 7 years ago by curtis

  • Status changed from new to closed
  • Resolution set to invalid

I investigated this, and my initial analysis was wrong. Each DynamicPlugin instance keeps a local copy of its DynamicPluginInfo. Running the same DynamicPlugin in multiple threads simultaneously appears to work fine, in both theory and practice.

Note: See TracTickets for help on using tickets.