Author: rfm
Date: Wed Mar 23 13:19:38 2016
New Revision: 39596
URL: http://svn.gna.org/viewcvs/gnustep?rev=39596&view=rev
Log:
track shutdown duration for each process
Modified:
libs/ec/trunk/EcClientI.h
libs/ec/trunk/EcClientI.m
libs/ec/trunk/EcCommand.m
Modified: libs/ec/trunk/EcClientI.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcClientI.h?rev=39596&r1=39595&r2=39596&view=diff
==============================================================================
--- libs/ec/trunk/EcClientI.h (original)
+++ libs/ec/trunk/EcClientI.h Wed Mar 23 13:19:38 2016
@@ -50,6 +50,7 @@
BOOL pingOk; /* Can remote end accept ping? */
BOOL transient; /* Is this a transient client? */
BOOL unregistered; /* Has client unregistered? */
+ BOOL terminating; /* Client been asked to quit? */
int processIdentifier; /* Process ID if known (or 0). */
}
- (NSComparisonResult) compare: (EcClientI*)other;
@@ -68,8 +69,10 @@
- (void) setName: (NSString*)n;
- (void) setObj: (id)o;
- (void) setProcessIdentifier: (int)p;
+- (void) setTerminating: (BOOL)flag;
- (void) setTransient: (BOOL)flag;
- (void) setUnregistered: (BOOL)flag;
+- (BOOL) terminating;
- (BOOL) transient;
@end
Modified: libs/ec/trunk/EcClientI.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcClientI.m?rev=39596&r1=39595&r2=39596&view=diff
==============================================================================
--- libs/ec/trunk/EcClientI.m (original)
+++ libs/ec/trunk/EcClientI.m Wed Mar 23 13:19:38 2016
@@ -189,6 +189,22 @@
processIdentifier = p;
}
+- (void) setTerminating: (BOOL)flag
+{
+ if (flag != terminating)
+ {
+ terminating = flag ? YES : NO;
+ if (YES == terminating)
+ {
+ NSLog(@"Terminating %@", name);
+ }
+ else
+ {
+ NSLog(@"Unregistered %@", name);
+ }
+ }
+}
+
- (void) setTransient: (BOOL)flag
{
transient = flag ? YES : NO;
@@ -196,7 +212,19 @@
- (void) setUnregistered: (BOOL)flag
{
- unregistered = flag ? YES : NO;
+ if (flag != unregistered)
+ {
+ unregistered = flag ? YES : NO;
+ if (YES == unregistered)
+ {
+ [self setTerminating: NO];
+ }
+ }
+}
+
+- (BOOL) terminating
+{
+ return terminating;
}
- (BOOL) transient
Modified: libs/ec/trunk/EcCommand.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcCommand.m?rev=39596&r1=39595&r2=39596&view=diff
==============================================================================
--- libs/ec/trunk/EcCommand.m (original)
+++ libs/ec/trunk/EcCommand.m Wed Mar 23 13:19:38 2016
@@ -1134,6 +1134,7 @@
m = [m stringByAppendingString:
@" Please wait for this to be 'removed' before "
@"proceeding.\n"];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
found = YES;
}
@@ -1244,6 +1245,7 @@
m = [m stringByAppendingFormat:
@" The process '%@' should restart shortly.\n",
[c name]];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
found = YES;
}
@@ -1532,6 +1534,7 @@
NSString *s;
lostClients = YES;
+ [o setUnregistered: YES];
[clients removeObjectIdenticalTo: o];
if (i <= pingPosition && pingPosition > 0)
{
@@ -2157,6 +2160,7 @@
NS_DURING
{
[launches setObject: [NSDate distantFuture] forKey: n];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
}
NS_HANDLER
@@ -2182,7 +2186,7 @@
for (i = 0; i < [a count] && [clients count] > 0; i++)
{
EcClientI *c;
- NSString *n;
+ NSString *n;
n = [a objectAtIndex: i];
c = [self findIn: clients byName: n];
@@ -2191,6 +2195,7 @@
NS_DURING
{
[launches setObject: [NSDate distantFuture] forKey: n];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
}
NS_HANDLER
@@ -2386,6 +2391,7 @@
NS_DURING
{
[launches setObject: when forKey: [c name]];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
}
NS_HANDLER
@@ -2423,6 +2429,7 @@
NS_DURING
{
[launches setObject: when forKey: [c name]];
+ [c setTerminating: YES];
[[c obj] cmdQuit: 0];
}
NS_HANDLER
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs