From 41faa12ebefffc445e4c45279db8728662254f66 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Tue, 23 Jul 2013 10:56:06 +0400 Subject: [PATCH] [PROTO] expand field 'use_features' 8 --> 16 byte --- daemon/da_protocol.c | 13 +++++++++---- daemon/da_protocol.h | 5 +++-- daemon/daemon.c | 18 +++++++++--------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/daemon/da_protocol.c b/daemon/da_protocol.c index 3b6e7b5..d13abdf 100644 --- a/daemon/da_protocol.c +++ b/daemon/da_protocol.c @@ -289,7 +289,12 @@ static int parse_conf(struct msg_buf_t *msg, struct conf_t *conf) { parse_deb("parse_conf\n"); - if (!parse_int64( msg, &conf->use_features)) { + if (!parse_int64(msg, &conf->use_features0)) { + LOGE("use features parsing error\n"); + return 0; + } + + if (!parse_int64(msg, &conf->use_features1)) { LOGE("use features parsing error\n"); return 0; } @@ -1135,10 +1140,10 @@ static void print_conf(struct conf_t * conf) { char buf[1024]; memset(&buf[0],0,1024); - feature_code_str(conf->use_features,buf); + feature_code_str(conf->use_features0, buf); LOGI("conf = \n"); - LOGI("\tuse_features = 0x%016LX (%s)\n", - conf->use_features,buf); + LOGI("\tuse_features0 = 0x%016LX (%s)\n", conf->use_features0, buf); + LOGI("\tuse_features1 = 0x%016LX (%s)\n", conf->use_features1, buf); LOGI( "\tsystem_trace_period = %d ms\n" "\tdata message period = %d ms\n", diff --git a/daemon/da_protocol.h b/daemon/da_protocol.h index ae6df0a..e595ae7 100644 --- a/daemon/da_protocol.h +++ b/daemon/da_protocol.h @@ -125,7 +125,7 @@ enum feature_code{ FL_OPENGL_API_PROBING =0x40000 //openGL API }; #define IS_OPT_SET_IN(OPT, reg) (reg & (OPT)) -#define IS_OPT_SET(OPT) IS_OPT_SET_IN((OPT), prof_session.conf.use_features) +#define IS_OPT_SET(OPT) IS_OPT_SET_IN((OPT), prof_session.conf.use_features0) enum app_type{ AT_TIZEN =0x01, @@ -173,7 +173,8 @@ struct app_info_t { }; struct conf_t { - uint64_t use_features; + uint64_t use_features0; + uint64_t use_features1; uint32_t system_trace_period; uint32_t data_message_period; }; diff --git a/daemon/daemon.c b/daemon/daemon.c index 0397f82..2d784ca 100644 --- a/daemon/daemon.c +++ b/daemon/daemon.c @@ -403,27 +403,27 @@ void stop_profiling(void) static void reconfigure_recording(struct conf_t conf) { - uint64_t old_features = prof_session.conf.use_features; - uint64_t new_features = conf.use_features; + uint64_t old_features = prof_session.conf.use_features0; + uint64_t new_features = conf.use_features0; uint64_t to_enable = (new_features ^ old_features) & new_features; uint64_t to_disable = (new_features ^ old_features) & old_features; if (IS_OPT_SET_IN(FL_RECORDING, to_disable)) { epoll_del_input_events(); - prof_session.conf.use_features &= ~FL_RECORDING; + prof_session.conf.use_features0 &= ~FL_RECORDING; } if (IS_OPT_SET_IN(FL_RECORDING, to_enable)) { epoll_add_input_events(); - prof_session.conf.use_features |= FL_RECORDING; + prof_session.conf.use_features0 |= FL_RECORDING; } } static int reconfigure_cpu_and_memory(struct conf_t conf) { - uint64_t old_features = prof_session.conf.use_features; - uint64_t new_features = conf.use_features; + uint64_t old_features = prof_session.conf.use_features0; + uint64_t new_features = conf.use_features0; uint64_t to_enable = (new_features ^ old_features) & new_features; uint64_t to_disable = (new_features ^ old_features) & old_features; @@ -433,7 +433,7 @@ static int reconfigure_cpu_and_memory(struct conf_t conf) samplingStop(); if (IS_OPT_SET_IN(FL_CPU | FL_MEMORY, to_disable)) { - prof_session.conf.use_features &= ~(FL_CPU | FL_MEMORY); + prof_session.conf.use_features0 &= ~(FL_CPU | FL_MEMORY); return 0; } @@ -442,7 +442,7 @@ static int reconfigure_cpu_and_memory(struct conf_t conf) LOGE("Cannot start sampling\n"); return -1; } - prof_session.conf.use_features |= (FL_CPU | FL_MEMORY); + prof_session.conf.use_features0 |= (FL_CPU | FL_MEMORY); } return 0; @@ -628,7 +628,7 @@ static int targetServerHandler(int efd) // send config message to target process log.type = MSG_OPTION; log.length = sprintf(log.data, "%u", - prof_session.conf.use_features); + prof_session.conf.use_features0); send(manager.target[index].socket, &log, sizeof(log.type) + sizeof(log.length) + log.length, MSG_NOSIGNAL); -- 2.7.4