Esempio n. 1
0
 public void NoMoreFiles()
 {
     _info = null;
     if (_pending == null || _pending.Count == 0)
     {
         _lastEntryFound = true;
     }
     else
     {
         // Grab the next directory to parse
         var next = _pending.Dequeue();
         HandleMethods.CloseHandle(_directory);
         _directory = next.Item1;
         _path      = next.Item2;
         FindNextFile();
     }
 }
Esempio n. 2
0
            protected void Dispose(bool disposing)
            {
                HeapBuffer buffer = Interlocked.Exchange(ref _buffer, null);

                if (buffer != null)
                {
                    StringBuffer.Cache.Release((StringBuffer)buffer);
                }

                var queue = Interlocked.Exchange(ref _pending, null);

                if (queue != null)
                {
                    while (queue.Count > 0)
                    {
                        HandleMethods.CloseHandle(queue.Dequeue().Item1);
                    }
                }

                HandleMethods.CloseHandle(_directory);
            }
Esempio n. 3
0
 protected override bool ReleaseHandle()
 {
     HandleMethods.CloseHandle(handle);
     return(true);
 }