diff --git a/world/net/group/master.c b/world/net/group/master.c index 2308ef3..48e4f00 100644 --- a/world/net/group/master.c +++ b/world/net/group/master.c @@ -60,10 +60,6 @@ volatile mapping _costate, _cmemory; volatile mapping ctemp, cunused; #endif // }}} -#ifdef USE_SPYC -mapping _state; // an alternative to ifdef CONTEXT_STATE ? -#endif - #ifdef PERSISTENT_SLAVES int revision; // persistent revision counter #endif @@ -90,9 +86,6 @@ create() { ctemp = ([ ]); _cmemory = m_allocate(0, 2); #endif // }}} -#ifdef USE_SPYC - _state = ([ ]); -#endif ::create(); } @@ -294,19 +287,6 @@ insert_member(source, origin) { P3(("%O -> _routes = %O\n", ME, _routes)) } -#ifdef USE_SPYC -get_state() { - PT(("cstate for %O picked up by %O: %O\n", ME, - previous_object(), _state)) - return _state; -} -commit_state() { - PT(("cstate for %O committed by %O: %O\n", ME, - previous_object(), _state)) - _state = ([ ]); -} -#endif - // code duplicaton is faster than others #ifdef CONTEXT_STATE // {{{ // diff --git a/world/net/group/slave.c b/world/net/group/slave.c index c9755bf..6d1c89e 100644 --- a/world/net/group/slave.c +++ b/world/net/group/slave.c @@ -29,11 +29,16 @@ private int _revision = -1; #endif #ifdef CONTEXT_STATE +// cslaves should store their copy of state, so it shouldn't be volatile here private volatile mapping cast_state; private volatile mapping temp_state; inherit NET_PATH "state"; #endif +#ifdef USE_SPYC +mapping _state; // should probably merge with ifdef CONTEXT_STATE.. +#endif + private volatile mapping _members; void create() { @@ -42,6 +47,9 @@ void create() { unless(mappingp(cast_state)) cast_state = ([ ]); unless(mappingp(temp_state)) temp_state = ([ ]); #endif +#ifdef USE_SPYC + unless(mappingp(_state)) _state = ([ ]); +#endif } #ifdef PERSISTENT_SLAVES @@ -264,3 +272,16 @@ void Diminish(mixed source, string key, mixed value) { } #endif // }}} + +#ifdef USE_SPYC +get_state() { + PT(("cstate for %O picked up by %O: %O\n", ME, + previous_object(), _state)) + return _state; +} +commit_state() { + PT(("cstate for %O committed by %O: %O\n", ME, + previous_object(), _state)) + _state = ([ ]); +} +#endif