~nunit-core/nunitv2/2.5

« back to all changes in this revision

Viewing changes to src/ClientUtilities/util/Services/DomainManager.cs

  • Committer: Charlie Poole
  • Author(s): mfenniak
  • Date: 2010-12-05 00:33:00 UTC
  • Revision ID: charlie@nunit.org-20101205003300-oif6cypjyknojpuy
Fix exception on trying to unload an unloaded AppDomain

Show diffs side-by-side

added added

removed removed

Lines of Context:
169
169
 
170
170
            public void Unload()
171
171
            {
172
 
                log.Info("Unloading AppDomain " + domain.FriendlyName);
 
172
                string domainName;
 
173
                try
 
174
                {
 
175
                    domainName = domain.FriendlyName;
 
176
                }
 
177
                catch (AppDomainUnloadedException)
 
178
                {
 
179
                    return;
 
180
                }
 
181
 
 
182
                log.Info("Unloading AppDomain " + domainName);
173
183
 
174
184
                thread = new Thread(new ThreadStart(UnloadOnThread));
175
185
                thread.Start();
176
186
                if (!thread.Join(30000))
177
187
                {
178
 
                    log.Error("Unable to unload AppDomain {0}, Unload thread timed out", domain.FriendlyName);
 
188
                    log.Error("Unable to unload AppDomain {0}, Unload thread timed out", domainName);
179
189
                    thread.Abort();
180
190
                }
181
191
            }