@verb #76:"_kick" this none this rxdo #55 @program #76:"_kick" this none this "Begin generic security check (_kick)" if (verb == "_kick" && !args[1]:isa(this)) raise(E_INVARG, "Illegal object", args[1]) return E_INVARG endif "End generic security check (_kick)" if (args[1] == this) return endif if (!args[1]:isa($daemon)) raise(E_PERM) elseif (args[1].port) running = 0 for x in (listeners()) if (x[1] != args[1]) continue elseif (x[2] != args[1].port) `unlisten(x[2]) ! E_INVARG' player:tell(x[1]:nn(), " removed from port ", x[2]) else player:tell(x[1]:nn(), " is already running on port ", x[2]) running = 1 endif endfor if (!running) listen(args[1], args[1].port, 0) player:tell($string_utils:nn(args[1]), " is now listening on port ", args[1].port) endif "Added the suspend to wait for the objects to get rebuilt ($www:_kick recycles and recreates the whole brood of connection objects) - Dax" suspend(10) args[1].in_use = {} args[1].available = {} for x in (args[1].connection_class:descendants_suspended()) if (x:connected()) args[1].in_use = {@args[1].in_use, x} else args[1].available = {@args[1].available, x} endif x:kick() $command_utils:suspend_if_needed() endfor endif "Last modified by Lao-Tzu (#8084) on Wed Jan 30 09:07:13 2002 MST." .