resource: resource set state changes no-request => release when got installed
authorJanos Kovacs <jankovac503@gmail.com>
Sun, 7 Oct 2012 21:46:56 +0000 (00:46 +0300)
committerKrisztian Litkey <krisztian.litkey@intel.com>
Fri, 26 Oct 2012 16:10:49 +0000 (19:10 +0300)
src/resource/application-class.c
src/resource/resource-owner.c

index a4b83cc..c7525fe 100644 (file)
@@ -44,6 +44,7 @@
 
 #include "application-class.h"
 #include "resource-set.h"
+#include "resource-owner.h"
 #include "zone.h"
 
 #define CLASS_MAX        64
@@ -262,6 +263,9 @@ int mrp_application_class_add_resource_set(const char *class_name,
     rset->zone = mrp_zone_get_id(zone);
     rset->request.id = reqid;
 
+    if (rset->state == mrp_resource_no_request)
+        rset->state = mrp_resource_release;
+
     mrp_application_class_move_resource_set(rset);
     mrp_resource_owner_update_zone(rset->zone, rset, reqid);
     
index d6a2466..fd4ed6c 100644 (file)
@@ -263,7 +263,7 @@ void mrp_resource_owner_update_zone(uint32_t zoneid,
                     if (advice_ownership(owner, zone, class, rset, res))
                         advice |= ((mrp_resource_mask_t)1 << rid);
                 }
-                if (mandatory && (advice & mandatory) != mandatory)
+                if ((advice & mandatory) != mandatory)
                     advice = 0;
                 break;