Lucene.Net.Store.Lock.With.Run C# (CSharp) Method

Run() public method

Calls #doBody while lock is obtained. Blocks if lock cannot be obtained immediately. Retries to obtain lock once per second until it is obtained, or until it has tried ten times. Lock is released when #doBody exits.
if lock could not /// be obtained if throws System.IO.IOException
public Run ( ) : object
return object
            public virtual object Run()
            {
                bool locked = false;
                try
                {
                    locked = @lock.Obtain(LockWaitTimeout);
                    return DoBody();
                }
                finally
                {
                    if (locked)
                    {
                        @lock.Release();
                    }
                }
            }
        }