public IPythonModule GetOrCreate(string name, ModuleResolutionBase mrb) { var create = false; lock (_syncObj) { if (_module != null) { return(_module); } if (!_creating) { create = true; _creating = true; } } if (!create) { return(null); } var module = mrb.CreateModule(name); lock (_syncObj) { _creating = false; _module = module; return(module); } }
public IPythonModule GetOrCreate(string name, ModuleResolutionBase mrb) { lock (_syncObj) { if (_module != null) { return(_module); } var module = mrb.CreateModule(name); _module = module; return(module); } }