Fix status table race condition (#1835)

This commit is contained in:
Ethan Koenig 2017-05-31 04:57:17 -04:00 committed by Lunny Xiao
parent 0f5b399e35
commit bfb44f8854
5 changed files with 26 additions and 10 deletions

View file

@ -1334,10 +1334,9 @@ func GetWatchedRepos(userID int64, private bool) ([]*Repository, error) {
// SyncExternalUsers is used to synchronize users with external authorization source
func SyncExternalUsers() {
if taskStatusTable.IsRunning(syncExternalUsers) {
if !taskStatusTable.StartIfNotRunning(syncExternalUsers) {
return
}
taskStatusTable.Start(syncExternalUsers)
defer taskStatusTable.Stop(syncExternalUsers)
log.Trace("Doing: SyncExternalUsers")