@@ -419,7 +419,7 @@ def __init__(
419419 "argument is provided"
420420 )
421421 root = manager
422- manager = DummyFileManager (root )
422+ manager = DummyFileManager (root , lock = NETCDF4_PYTHON_LOCK )
423423
424424 self ._manager = manager
425425 self ._group = group
@@ -508,17 +508,18 @@ def open(
508508 "<xarray-in-memory-write>" , mode = mode , memory = memory , ** kwargs
509509 )
510510 close = _CloseWithCopy (filename , nc4_dataset )
511- manager = DummyFileManager (nc4_dataset , close = close )
511+ manager = DummyFileManager (nc4_dataset , close = close , lock = lock )
512512
513513 elif isinstance (filename , bytes | memoryview ):
514514 assert mode == "r"
515515 kwargs ["memory" ] = filename
516516 manager = PickleableFileManager (
517- netCDF4 .Dataset , "<xarray-in-memory-read>" , mode = mode , kwargs = kwargs
517+ netCDF4 .Dataset , "<xarray-in-memory-read>" , mode = mode , kwargs = kwargs ,
518+ lock = lock
518519 )
519520 else :
520521 manager = CachingFileManager (
521- netCDF4 .Dataset , filename , mode = mode , kwargs = kwargs
522+ netCDF4 .Dataset , filename , mode = mode , kwargs = kwargs , lock = lock
522523 )
523524 return cls (manager , group = group , mode = mode , lock = lock , autoclose = autoclose )
524525
0 commit comments