Skip to content

Commit d7dba1f

Browse files
Fix bug in syncronous commands
Closes #241
1 parent 28a5997 commit d7dba1f

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
python -m bio2zarr vcf2zarr dencode-partition sample.vcz 0
6666
python -m bio2zarr vcf2zarr dencode-partition sample.vcz 1
6767
python -m bio2zarr vcf2zarr dencode-partition sample.vcz 2
68-
python -m bio2zarr vcf2zarr dencode-finalise sample.vcz -f
68+
python -m bio2zarr vcf2zarr dencode-finalise sample.vcz
6969
- name: Run tests
7070
run: |
7171
pytest --cov=bio2zarr

bio2zarr/core.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,6 @@
2222

2323
numcodecs.blosc.use_threads = False
2424

25-
# By default Tqdm creates a multiprocessing Lock to synchronise across processes,
26-
# which seems to cause some problems with leaked semaphores on certain combinations
27-
# of Mac and Python versions. We only access tqdm from the main process though,
28-
# so we don't need it and can override with a simpler threading Lock.
29-
# NOTE: this gets set multiple times to different locks as subprocesses are
30-
# spawned, but it doesn't matter because the only tqdm instance that is
31-
# used is the one in the main process.
32-
tqdm.tqdm.set_lock(threading.RLock())
33-
3425

3526
def display_number(x):
3627
ret = "n/a"
@@ -207,8 +198,11 @@ class ProgressConfig:
207198

208199

209200
def update_progress(inc):
210-
with _progress_counter.get_lock():
211-
_progress_counter.value += inc
201+
# If the _progress_counter has not been set we are working in a
202+
# synchronous non-progress tracking context
203+
if _progress_counter is not None:
204+
with _progress_counter.get_lock():
205+
_progress_counter.value += inc
212206

213207

214208
def get_progress():

0 commit comments

Comments
 (0)