]> rtime.felk.cvut.cz Git - orte.git/commitdiff
MSVC htimer hack, fixed functions removeApplication, removeManager
authorsmolik <smolik>
Mon, 29 Nov 2004 14:09:49 +0000 (14:09 +0000)
committersmolik <smolik>
Mon, 29 Nov 2004 14:09:49 +0000 (14:09 +0000)
orte/liborte/htimerNtp.c
orte/liborte/objectEntryTimer.c

index 18565cc00de6b5afd302f28522b45a22205995b7..8ef0ba56d25bdbfb7f90e0dae398ed4c930748ce 100644 (file)
@@ -27,7 +27,7 @@ GAVL_FLES_INT_DEC(ul_htim_queue, ul_htim_queue_t, ul_htim_node_t, ul_htim_time_t
 
 GAVL_FLES_INT_IMP(ul_htim_queue, ul_htim_queue_t, ul_htim_node_t, ul_htim_time_t,
       timers, node, expires, ul_htimer_cmp_fnc, GAVL_FAFTER, 
- root->first_changed=1,/**/,root->first_changed=1)
+ root->first_changed=1,;,root->first_changed=1)
 
 /*****************************************************************************/
 UL_HTIMER_IMP(htimerRoot, \
index 04b22e22b507b31cb0dfa2c41be9c901889f7ec5..c237cc3a81d61baadbec16b59b8f118096c15fe4 100644 (file)
@@ -1,4 +1,4 @@
-    /*
+/*
  *  $Id: objectEntryTimer.c,v 0.0.0.1   2003/09/10
  *
  *  DEBUG:  section 12                  Timer function on object from eventEntry
@@ -131,7 +131,7 @@ removeApplication(ORTEDomain *d,ObjectEntryOID *robjectEntryOID) {
   
   if (!robjectEntryOID) return;
   if (!gavl_cmp_guid(&robjectEntryOID->guid,&d->guid)) return;
-  debug(12,3) ("application removed\n");
+  debug(12,3) ("application removed - AID: 0%x\n",robjectEntryOID->guid.aid);
   
   guid=robjectEntryOID->guid;
   //publication, subsription and application
@@ -159,7 +159,10 @@ removeApplication(ORTEDomain *d,ObjectEntryOID *robjectEntryOID) {
   removePublicationsOnLocalSubscriptions(d,robjectEntryOID);
   removeSubscriptionsOnLocalPublications(d,robjectEntryOID);
   //destroy all object - the object will be disconneced in objectEntryDelete
-  while((objectEntryOID=ObjectEntryOID_first(robjectEntryOID->objectEntryAID))) {
+  objectEntryOID=ObjectEntryOID_first(robjectEntryOID->objectEntryAID);
+  while (objectEntryOID) {
+    ObjectEntryOID *objectEntryOID_delete=objectEntryOID;
+    objectEntryOID=ObjectEntryOID_next(robjectEntryOID->objectEntryAID,objectEntryOID);
     switch (objectEntryOID->oid & 0x07) {
       case OID_PUBLICATION:
         pthread_rwlock_wrlock(&d->psEntry.publicationsLock);
@@ -172,8 +175,7 @@ removeApplication(ORTEDomain *d,ObjectEntryOID *robjectEntryOID) {
         pthread_rwlock_unlock(&d->psEntry.subscriptionsLock);
         break;
     }
-    if (objectEntryDelete(d,objectEntryOID)>1) //AID was deleted
-      break;
+    objectEntryDelete(d,objectEntryOID_delete);
   }
 }
 
@@ -197,15 +199,15 @@ removeManager(ORTEDomain *d,ObjectEntryOID *robjectEntryOID) {
       break;  //yes
   }
   if (!objectEntryAID) {  //not exists 
-    gavl_cust_for_each(ObjectEntryAID,
-                       robjectEntryOID->objectEntryHID,objectEntryAID) {
+    objectEntryAID=ObjectEntryAID_first(robjectEntryOID->objectEntryHID);
+    while (objectEntryAID) {
+      ObjectEntryAID *objectEntryAID_delete=objectEntryAID;
+      objectEntryAID=ObjectEntryAID_next(robjectEntryOID->objectEntryHID,objectEntryAID);
       if ((objectEntryAID->aid & 0x03) == MANAGEDAPPLICATION) {
         ObjectEntryOID   *objectEntryOID;
         objectEntryOID=ObjectEntryOID_find(objectEntryAID,&guid.oid);
         if (gavl_cmp_guid(&objectEntryOID->guid,&d->guid)) { //!=
           removeApplication(d,objectEntryOID);
-          objectEntryAID=  //start
-            ObjectEntryAID_first(robjectEntryOID->objectEntryHID);
         }
       }
     }