static protected void ParseDataAsync(object input) { ArrayList queue = input as ArrayList; while ((queue.Count > 0) && !MayaCacheFile.RaiseError) { MayaCacheFile cache = null; lock (queue) { cache = queue[0] as MayaCacheFile; queue.Remove(cache); } try { cache.ParseData(); } catch (Exception) { ErrorEvent ev = new ErrorEvent(); MayaCacheFile.RaiseError = true; ev.ErrString = "FILE OPEN FAILED "; ev.ErrString += cache.BaseName; ev.ErrLevel = 2; ev.Log(); } } _loadthread = null; }