mirror of
https://github.com/gnustep/libs-ec.git
synced 2025-05-30 00:40:42 +00:00
cleanup on exit
This commit is contained in:
parent
5302dc715f
commit
f0fdebc5b8
1 changed files with 19 additions and 10 deletions
29
EcControl.m
29
EcControl.m
|
@ -725,7 +725,16 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
|
||||
- (oneway void) cmdQuit: (NSInteger)status
|
||||
{
|
||||
[sink setMonitor: nil];
|
||||
if (alerter)
|
||||
{
|
||||
[alerter shutdown];
|
||||
NSLog(@"Uninstalled alerter: %@",
|
||||
NSStringFromClass([alerter class]));
|
||||
DESTROY(alerter);
|
||||
}
|
||||
[sink shutdown];
|
||||
DESTROY(sink);
|
||||
exit (status);
|
||||
}
|
||||
|
||||
|
@ -1512,15 +1521,7 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
wd = cmdWord(cmd, 1);
|
||||
if ([wd length] > 0 && comp(wd, @"self") == 0)
|
||||
{
|
||||
[sink setMonitor: nil];
|
||||
if (alerter)
|
||||
{
|
||||
[alerter shutdown];
|
||||
NSLog(@"Uninstalled alerter: %@",
|
||||
NSStringFromClass([alerter class]));
|
||||
DESTROY(alerter);
|
||||
}
|
||||
exit(0);
|
||||
[self cmdQuit: 0];
|
||||
}
|
||||
}
|
||||
else if (matchCmd(wd, @"restart", allow))
|
||||
|
@ -1534,7 +1535,7 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
type: LT_CONSOLE
|
||||
to: nil
|
||||
from: nil];
|
||||
exit(-1); // Watcher should restart us
|
||||
[self cmdQuit: -1]; // Watcher should restart us
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2182,6 +2183,14 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
|
||||
result = [super ecRun];
|
||||
|
||||
[sink setMonitor: nil];
|
||||
if (alerter)
|
||||
{
|
||||
[alerter shutdown];
|
||||
NSLog(@"Uninstalled alerter: %@",
|
||||
NSStringFromClass([alerter class]));
|
||||
DESTROY(alerter);
|
||||
}
|
||||
[sink shutdown];
|
||||
DESTROY(sink);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue