diff --git a/checkin_notes b/checkin_notes index 91460c165b..8186ae8b24 100755 --- a/checkin_notes +++ b/checkin_notes @@ -14801,3 +14801,12 @@ David 23 Dec 2005 gui_rpc_server.C,h gui_rpc_server_ops.C ss_logic.C + +David 24 Dec 2005 + - amended yesterday's changes so that only user-initiated RPCs + (e.g. to attach/detach/suspend/resume a project or result) are counted. + Otherwise the preferences would never kick in. + + client/ + gui_rpc_server.C,h + gui_rpc_server_ops.C diff --git a/client/gui_rpc_server.C b/client/gui_rpc_server.C index 15cd77d2f9..a64e28271e 100644 --- a/client/gui_rpc_server.C +++ b/client/gui_rpc_server.C @@ -337,7 +337,6 @@ void GUI_RPC_CONN_SET::got_select(FDSET_GROUP& fg) { while (iter != gui_rpcs.end()) { gr = *iter; if (FD_ISSET(gr->sock, &fg.read_fds)) { - last_rpc_time = gstate.now; retval = gr->handle_rpc(); if (retval) { delete gr; diff --git a/client/gui_rpc_server.h b/client/gui_rpc_server.h index c915e22bb7..c9ff4b4fe5 100644 --- a/client/gui_rpc_server.h +++ b/client/gui_rpc_server.h @@ -41,13 +41,16 @@ public: class GUI_RPC_CONN_SET { std::vector gui_rpcs; std::vector allowed_remote_ip_addresses; - double last_rpc_time; - int get_allowed_hosts(); int get_password(); int insert(GUI_RPC_CONN*); public: int lsock; + double last_rpc_time; + // actually, the last time of a project or result op + // (ones that are triggered by a user action, + // rather than by the Manager itself) + GUI_RPC_CONN_SET(); char password[256]; void get_fdset(FDSET_GROUP&, FDSET_GROUP&); diff --git a/client/gui_rpc_server_ops.C b/client/gui_rpc_server_ops.C index 05d5cdc0b3..19d0298e82 100644 --- a/client/gui_rpc_server_ops.C +++ b/client/gui_rpc_server_ops.C @@ -824,20 +824,6 @@ int GUI_RPC_CONN::handle_rpc() { handle_get_project_status(mf); } else if (match_tag(request_msg, "")) { + handle_get_newer_version(mf); + } + + // RPCs that reflect user actions go after here + // + + gstate.gui_rpcs.last_rpc_time = gstate.now; + + if (match_tag(request_msg, "")) { @@ -906,8 +915,6 @@ int GUI_RPC_CONN::handle_rpc() { handle_acct_mgr_rpc(request_msg, mf); } else if (match_tag(request_msg, "")) { - handle_get_newer_version(mf); } else { mf.printf("unrecognized op\n"); }