summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonrad Kuchciak <k.kuchciak@samsung.com>2017-07-31 11:22:40 +0200
committerKonrad Kuchciak <k.kuchciak@samsung.com>2017-08-09 11:30:54 +0200
commit2737ad911f9e6f8b47d72ad8879d372ec66a7b56 (patch)
treed36b41c4c60a87bd7f6dccf4f5cee9fedba109a8
parent296ca10ee44f41396faca523d176aa86ba1ba7ea (diff)
downloadfaultd-2737ad911f9e6f8b47d72ad8879d372ec66a7b56.tar.gz
faultd-2737ad911f9e6f8b47d72ad8879d372ec66a7b56.tar.bz2
faultd-2737ad911f9e6f8b47d72ad8879d372ec66a7b56.zip
Fix serialization/deserialization issues
Change-Id: Id51a70f7b73c114ae28fbc4740b4275932060569 Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
-rw-r--r--src/event_types/decision_made_event.c1
-rw-r--r--src/event_types/resource_violation_event.c10
2 files changed, 7 insertions, 4 deletions
diff --git a/src/event_types/decision_made_event.c b/src/event_types/decision_made_event.c
index 083f2f3..f177052 100644
--- a/src/event_types/decision_made_event.c
+++ b/src/event_types/decision_made_event.c
@@ -102,6 +102,7 @@ static void dm_event_serialize(struct faultd_event *ev, struct faultd_object *ou
assert(!FAULTD_OID_IS_ZERO(dm_ev->reason->oid));
faultd_event_serialize_internal(ev, out);
+ faultd_object_append_oid(out, DM_EV_REASON, &dm_ev->reason->oid);
faultd_object_append_string(out, DM_EV_WHO, dm_ev->who_made);
faultd_object_append_string(out, DM_EV_ACTION, dm_ev->action);
faultd_object_append_object(out, DM_EV_ACTION_DATA, dm_ev->action_data);
diff --git a/src/event_types/resource_violation_event.c b/src/event_types/resource_violation_event.c
index 138d7b8..5934efb 100644
--- a/src/event_types/resource_violation_event.c
+++ b/src/event_types/resource_violation_event.c
@@ -40,6 +40,7 @@ static int allocate_rv_event(struct faultd_event_type *type,
rv_ev->service = rv_ev_data->service;
rv_ev->detection_time = rv_ev_data->detection_time;
rv_ev->resource_type = rv_ev_data->resource_type;
+ rv_ev->pid = rv_ev_data->pid;
*ev = &rv_ev->event;
return 0;
@@ -66,18 +67,18 @@ static int deserialize_rv_event(struct faultd_event_type *type,
if (ret < 0)
goto finish;
- } else if ((obj->type == TYPE_TIMESPEC) &&
- (strcmp(RV_EV_DTIME, obj->key))) {
+ } else if ((obj->type == TYPE_TIME_T) &&
+ (strcmp(RV_EV_DTIME, obj->key) == 0)) {
rv_ev_data.detection_time = obj->val.time;
} else if ((obj->type == TYPE_INT) &&
- (strcmp(RV_EV_RES_TYPE, obj->key))) {
+ (strcmp(RV_EV_RES_TYPE, obj->key) == 0)) {
rv_ev_data.resource_type = obj->val.i;
} else if ((obj->type == TYPE_INT) &&
- (strcmp(RV_EV_PID, obj->key))) {
+ (strcmp(RV_EV_PID, obj->key) == 0)) {
rv_ev_data.pid = obj->val.i;
@@ -143,6 +144,7 @@ static void rv_event_serialize(struct faultd_event *ev, struct faultd_object *ou
faultd_event_serialize_internal(ev, out);
systemd_service_serialize(&rv_ev->service, out);
faultd_object_append_time_t(out, RV_EV_DTIME, rv_ev->detection_time);
+ faultd_object_append_int(out, RV_EV_RES_TYPE, rv_ev->resource_type);
faultd_object_append_int(out, RV_EV_PID, rv_ev->pid);
}