From 2a22e591892aab746873054039eb93f64441a780 Mon Sep 17 00:00:00 2001 From: Ruslan Soloviev Date: Mon, 8 Dec 2014 12:10:19 +0300 Subject: [PATCH] [REFACTOR] Remove probe counter Change-Id: Ic4ce08202bf5a0844bd7a5802ac34f2a5263d309 Signed-off-by: Ruslan Soloviev --- webprobe/webprobe.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/webprobe/webprobe.c b/webprobe/webprobe.c index d4bc268..5489aea 100644 --- a/webprobe/webprobe.c +++ b/webprobe/webprobe.c @@ -99,33 +99,36 @@ static int ret_web_handler(struct uretprobe_instance *ri, struct pt_regs *regs) return 0; } -#define WEB_FUNC_INSPSERVSTART 0 -#define WEB_FUNC_WILLEXECUTE 1 -#define WEB_FUNC_DIDEXECUTE 2 - static void webprobe_init(struct us_ip *ip) { - static int fcnt = 0; - - switch(fcnt++) { - case WEB_FUNC_INSPSERVSTART: + enum { + web_func_inspservstart, + web_func_willexecute, + web_func_didexecute + }; + static int fnum = web_func_inspservstart; + + /* FIXME: probes can be set more than once */ + switch(fnum) { + case web_func_inspservstart: ip->retprobe.entry_handler = NULL; ip->retprobe.handler = ret_web_handler; + fnum = web_func_willexecute; printk("SWAP_WEBPROBE: web function ewk_view_inspector_server_start\n"); break; - case WEB_FUNC_WILLEXECUTE: + case web_func_willexecute: /* TODO: use uprobe instead of uretprobe */ ip->retprobe.entry_handler = entry_web_handler; ip->retprobe.handler = NULL; + fnum = web_func_didexecute; printk("SWAP_WEBPROBE: web function willExecute\n"); break; - case WEB_FUNC_DIDEXECUTE: + case web_func_didexecute: /* TODO: use uprobe instead of uretprobe */ ip->retprobe.entry_handler = exit_web_handler; ip->retprobe.handler = NULL; + fnum = web_func_inspservstart; printk("SWAP_WEBPROBE: web function didExecute\n"); - /* FIXME: probes can be set more than once */ - fcnt = 0; break; default: printk("SWAP_WEBPROBE: web functions more than necessary\n"); -- 2.7.4