mirror of
https://github.com/gnustep/libs-ec.git
synced 2025-05-31 09:21:12 +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
|
- (oneway void) cmdQuit: (NSInteger)status
|
||||||
{
|
{
|
||||||
|
[sink setMonitor: nil];
|
||||||
|
if (alerter)
|
||||||
|
{
|
||||||
|
[alerter shutdown];
|
||||||
|
NSLog(@"Uninstalled alerter: %@",
|
||||||
|
NSStringFromClass([alerter class]));
|
||||||
|
DESTROY(alerter);
|
||||||
|
}
|
||||||
[sink shutdown];
|
[sink shutdown];
|
||||||
|
DESTROY(sink);
|
||||||
exit (status);
|
exit (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1512,15 +1521,7 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
||||||
wd = cmdWord(cmd, 1);
|
wd = cmdWord(cmd, 1);
|
||||||
if ([wd length] > 0 && comp(wd, @"self") == 0)
|
if ([wd length] > 0 && comp(wd, @"self") == 0)
|
||||||
{
|
{
|
||||||
[sink setMonitor: nil];
|
[self cmdQuit: 0];
|
||||||
if (alerter)
|
|
||||||
{
|
|
||||||
[alerter shutdown];
|
|
||||||
NSLog(@"Uninstalled alerter: %@",
|
|
||||||
NSStringFromClass([alerter class]));
|
|
||||||
DESTROY(alerter);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (matchCmd(wd, @"restart", allow))
|
else if (matchCmd(wd, @"restart", allow))
|
||||||
|
@ -1534,7 +1535,7 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
||||||
type: LT_CONSOLE
|
type: LT_CONSOLE
|
||||||
to: nil
|
to: nil
|
||||||
from: nil];
|
from: nil];
|
||||||
exit(-1); // Watcher should restart us
|
[self cmdQuit: -1]; // Watcher should restart us
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2182,6 +2183,14 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
||||||
|
|
||||||
result = [super ecRun];
|
result = [super ecRun];
|
||||||
|
|
||||||
|
[sink setMonitor: nil];
|
||||||
|
if (alerter)
|
||||||
|
{
|
||||||
|
[alerter shutdown];
|
||||||
|
NSLog(@"Uninstalled alerter: %@",
|
||||||
|
NSStringFromClass([alerter class]));
|
||||||
|
DESTROY(alerter);
|
||||||
|
}
|
||||||
[sink shutdown];
|
[sink shutdown];
|
||||||
DESTROY(sink);
|
DESTROY(sink);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue