1. 21 Apr, 2017 1 commit
  2. 20 Apr, 2017 1 commit
  3. 14 Apr, 2017 1 commit
  4. 03 Mar, 2017 1 commit
  5. 17 Dec, 2016 2 commits
  6. 14 Dec, 2016 1 commit
  7. 05 Nov, 2016 1 commit
  8. 30 Sep, 2016 1 commit
  9. 18 Aug, 2016 1 commit
  10. 17 Jul, 2016 1 commit
    • David Vorick's avatar
      separate ThreadGroup locking by function · 3ffc5b35
      David Vorick authored
      The threadgroup has two separate things that it is protecting when it
      locks the mutex. One group of things is to block the execution of other
      threads, in the case of 'Add', 'Flush', and 'Stop'. The other group of
      things is to protect the ThreadGroup state variables, namely 'onStopFns'
      and 'afterStopFns'.
      
      Previously, you would get a deadlock with the following:
      
      tg.Add()
      go func {
      	tg.Stop()
      }
      time.Sleep(1 * time.Second)
      tg.OnStop()
      tg.Done()
      
      The deadlock happens because tg.Stop() is blocking the OnStop call while
      it waits for the tg.Add to return, but the tg.Add will not return until
      tg.OnStop can get the lock.
      
      I don't see any reason for this behavior to be forbidden. You want to be
      able to do something like:
      
      tg.Add()
      tg.RegisterRPC()
      tg.OnStop(func() {
      	tg.UnregisterRPC()
      })
      tg.Done()
      
      and currently that's not safe code if you are assuming that Stop() could
      be called at any time.
      3ffc5b35
  11. 13 Jul, 2016 2 commits
    • David Vorick's avatar
      fix documentation typos and errors · 79a22200
      David Vorick authored
      79a22200
    • David Vorick's avatar
      fix pr comments · 4600378c
      David Vorick authored
      better commenting regarding the use of the sync.WaitGroup in
      modules/host/update.go.
      
      Removal of an unncessary write lock in the storage obligation handler.
      
      Better explain nested 'Add' calls in sync/threadgroup.go
      4600378c
  12. 12 Jul, 2016 8 commits
  13. 24 Jun, 2016 3 commits
  14. 05 Jun, 2016 1 commit
  15. 31 May, 2016 1 commit
  16. 30 May, 2016 2 commits
  17. 26 May, 2016 5 commits
  18. 03 Oct, 2015 1 commit
  19. 02 Oct, 2015 2 commits
  20. 10 Apr, 2015 1 commit
  21. 14 Mar, 2015 3 commits