diff --git a/Assistant/Threads/TransferScanner.hs b/Assistant/Threads/TransferScanner.hs index 0a40f7ead2..485506e7d3 100644 --- a/Assistant/Threads/TransferScanner.hs +++ b/Assistant/Threads/TransferScanner.hs @@ -19,7 +19,7 @@ thisThread :: ThreadName thisThread = "TransferScanner" {- This thread scans remotes, to find transfers that need to be made to - - keep their data in sync. The transfers are queued with lot priority. -} + - keep their data in sync. The transfers are queued with low priority. -} transferScannerThread :: ThreadState -> ScanRemoteMap -> TransferQueue -> IO () transferScannerThread st scanremotes transferqueue = do runEvery (Seconds 2) $ do diff --git a/Assistant/TransferSlots.hs b/Assistant/TransferSlots.hs index dc077254d9..710a188840 100644 --- a/Assistant/TransferSlots.hs +++ b/Assistant/TransferSlots.hs @@ -29,9 +29,10 @@ newTransferSlots = newQSemN numSlots {- Waits until a transfer slot becomes available, and runs a transfer - action in the slot, in its own thread. -} inTransferSlot :: TransferSlots -> ThreadState -> Annex a -> IO ThreadId -inTransferSlot s st a = forkIO $ bracket_ start done run +inTransferSlot s st a = do + waitQSemN s 1 + forkIO $ bracket_ noop done run where - start = waitQSemN s 1 done = transferComplete s run = unsafeRunThreadState st a