Air.LocalAirStorage.GetLockAsync C# (CSharp) Method

GetLockAsync() public method

Gets the lock async.
public GetLockAsync ( long key ) : Task
key long The key.
return Task
        public Task GetLockAsync(long key)
        {
            lock (_syncLock)
            {
                Semaphore nodeSyncLock;
                if (!_locks.TryGetValue(key, out nodeSyncLock))
                {
                    nodeSyncLock = new Semaphore(1, 1);
                    _locks[key] = nodeSyncLock;
                }

                nodeSyncLock.WaitOne();
            }

            return Task.Factory.StartNew(() => { });
        }