Ignore:
Timestamp:
3/10/2008 9:21:52 AM (7 years ago)
Author:
lowjoel
Message:

Handle FatalExceptions? in the DirectExecutor? thread.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Manager/DirectExecutor.cs

    r184 r191  
    115115                if (task != null) 
    116116                { 
    117                     //Run the task 
    118                     foreach (Task.ErasureTarget target in task.Entries) 
    119117                    try 
    120118                    { 
    121                         if (target is Task.UnusedSpace) 
    122                             EraseUnusedSpace(task, (Task.UnusedSpace)target); 
    123                         else if (target is Task.FilesystemObject) 
    124                             EraseFilesystemObject(task, (Task.FilesystemObject)target); 
    125                         else 
    126                             throw new ArgumentException("Unknown erasure target."); 
     119                        //Run the task 
     120                        foreach (Task.ErasureTarget target in task.Entries) 
     121                            try 
     122                            { 
     123                                if (target is Task.UnusedSpace) 
     124                                    EraseUnusedSpace(task, (Task.UnusedSpace)target); 
     125                                else if (target is Task.FilesystemObject) 
     126                                    EraseFilesystemObject(task, (Task.FilesystemObject)target); 
     127                                else 
     128                                    throw new ArgumentException("Unknown erasure target."); 
     129                            } 
     130                            catch (FatalException) 
     131                            { 
     132                                throw; 
     133                            } 
     134                            catch (Exception e) 
     135                            { 
     136                                task.LogEntry(new LogEntry(e.Message, LogLevel.ERROR)); 
     137                            } 
    127138                    } 
    128                     catch (Exception e) 
     139                    catch (FatalException e) 
    129140                    { 
    130                         task.LogEntry(new LogEntry(e.Message, LogLevel.ERROR)); 
     141                        task.LogEntry(new LogEntry(e.Message, LogLevel.FATAL)); 
    131142                    } 
    132143 
     
    193204                    8, FileOptions.WriteThrough)) 
    194205                { 
    195                     target.Method.Erase(strm, null, 
     206                    target.Method.Erase(strm, PRNGManager.GetInstance(Globals.Settings.ActivePRNG), 
    196207                        delegate(uint currentProgress, uint currentPass) 
    197208                        { 
Note: See TracChangeset for help on using the changeset viewer.