Author: rfm
Date: Mon Feb  2 11:38:44 2015
New Revision: 38320

URL: http://svn.gna.org/viewcvs/gnustep?rev=38320&view=rev
Log:
add some debug

Modified:
    libs/ec/trunk/EcAlarmDestination.h
    libs/ec/trunk/EcAlarmDestination.m

Modified: libs/ec/trunk/EcAlarmDestination.h
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcAlarmDestination.h?rev=38320&r1=38319&r2=38320&view=diff
==============================================================================
--- libs/ec/trunk/EcAlarmDestination.h  (original)
+++ libs/ec/trunk/EcAlarmDestination.h  Mon Feb  2 11:38:44 2015
@@ -97,6 +97,7 @@
   NSString                     *_name;
   id<EcAlarmDestination>       _destination;
   NSArray                      *_backups;
+  BOOL                          _debug;
 }
 
 /** Passes an alarm to the destination by adding it to a queue of alarm
@@ -172,6 +173,12 @@
  */
 - (BOOL) setCoalesce: (BOOL)coalesce;
 
+/** Sets debug on/off.  When debugging is on, we generate logs of
+ * forwarding to the destination and of coalescing of alams.<br />
+ * Returns the previous value of the setting.
+ */
+- (BOOL) setDebug: (BOOL)debug;
+
 /** Sets the destination to which alarms should be forwarded.<br />
  * If nil this turns off forwarding until it is re-set to a non-nil
  * destination.<br />

Modified: libs/ec/trunk/EcAlarmDestination.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcAlarmDestination.m?rev=38320&r1=38319&r2=38320&view=diff
==============================================================================
--- libs/ec/trunk/EcAlarmDestination.m  (original)
+++ libs/ec/trunk/EcAlarmDestination.m  Mon Feb  2 11:38:44 2015
@@ -84,19 +84,34 @@
          [_alarmQueue addObject: event];
           if (NSNotFound != index)
             {
-             event = [_alarmQueue objectAtIndex: index];
-             if ([event perceivedSeverity] == EcAlarmSeverityCleared)
+             EcAlarm   *old = [_alarmQueue objectAtIndex: index];
+
+             if ([old perceivedSeverity] == EcAlarmSeverityCleared)
                {
+                  if (YES == _debug)
+                    {
+                      NSLog(@"Coalesce %@ by removing %@", event, old);
+                    }
                  [_alarmQueue removeObjectAtIndex: index];
                }
             }
         }
       else
        {
-         [event retain];
-         [_alarmQueue removeObject: event];
+          NSUInteger    index;
+
+          index = [_alarmQueue indexOfObject: event];
          [_alarmQueue addObject: event];
-         [event release];
+          if (NSNotFound != index)
+            {
+             EcAlarm   *old = [_alarmQueue objectAtIndex: index];
+
+              if (YES == _debug)
+                {
+                  NSLog(@"Coalesce %@ by removing %@", event, old);
+                }
+              [_alarmQueue removeObjectAtIndex: index];
+            }
        }
       [_alarmLock unlock];
     }
@@ -206,8 +221,17 @@
        }
       else
        {
-         [_alarmQueue removeObject: event];
-         [_alarmQueue addObject: event];
+          NSUInteger    index = [_alarmQueue indexOfObject: event];
+
+          [_alarmQueue addObject: event];
+          if (NSNotFound != index)
+            {
+              if (YES == _debug)
+                {
+                  NSLog(@"Coalesce %@", event);
+                }
+              [_alarmQueue removeObjectAtIndex: index];
+            }
        }
       [_alarmLock unlock];
     }
@@ -288,6 +312,17 @@
   [_alarmLock lock];
   old = (NO == _coalesceOff) ? YES : NO;
   _coalesceOff = (NO == coalesce) ? YES : NO;
+  [_alarmLock unlock];
+  return old;
+}
+
+- (BOOL) setDebug: (BOOL)debug
+{
+  BOOL old;
+
+  [_alarmLock lock];
+  old = _debug;
+  _debug = (YES == debug) ? YES : NO;
   [_alarmLock unlock];
   return old;
 }
@@ -372,8 +407,17 @@
        }
       else
        {
-         [_alarmQueue removeObject: event];
-         [_alarmQueue addObject: event];
+          NSUInteger    index = [_alarmQueue indexOfObject: event];
+
+          [_alarmQueue addObject: event];
+          if (NSNotFound != index)
+            {
+              if (YES == _debug)
+                {
+                  NSLog(@"Coalesce %@", event);
+                }
+              [_alarmQueue removeObjectAtIndex: index];
+            }
        }
       [_alarmLock unlock];
     }
@@ -664,6 +708,10 @@
     }
   NS_DURING
     [[self _connect] alarm: event];
+    if (YES == _debug)
+      {
+        NSLog(@"%@ %@", NSStringFromSelector(_cmd), event);
+      }
     NS_DURING
       [[self backups] makeObjectsPerformSelector: @selector(alarm:)
                                       withObject: event];
@@ -688,6 +736,10 @@
     }
   NS_DURING
     [[self _connect] domanage: managedObject];
+    if (YES == _debug)
+      {
+        NSLog(@"%@ %@", NSStringFromSelector(_cmd), managedObject);
+      }
     NS_DURING
       [[self backups] makeObjectsPerformSelector: @selector(domanage:)
                                       withObject: managedObject];
@@ -712,6 +764,10 @@
     }
   NS_DURING
     [[self _connect] unmanage: managedObject];
+    if (YES == _debug)
+      {
+        NSLog(@"%@ %@", NSStringFromSelector(_cmd), managedObject);
+      }
     NS_DURING
       [[self backups] makeObjectsPerformSelector: @selector(unmanage:)
                                       withObject: managedObject];


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to