4f7 @verb #3873:"update_data" this none this rxd #9131 @program #3873:"update_data" this none this if (this.task_update_data == "go") return elseif (this.task_update_data == "fork") this.task_update_data = "go" else this.task_update_data = "fork" fork (0) this:update_data() endfork return endif this.tasks_left = this.tasks_room while (this.tasks_left) this.task_running = currt = this.tasks_left[1] {dobj, task_name} = currt[1..2] ok = 1 if (length(currt) > 2) delay = currt[3] m = listiassoc(task_name, this.delay_times) if (!m) this.delay_times = {@this.delay_times, {task_name, time()}} elseif (time() - delay < this.delay_times[m][2]) ok = 0 else this.delay_times[m][2] = time() endif endif this.tasks_left = listdelete(this.tasks_left, 1) if (ok) try dobj:(task_name)() except e (ANY) this.task_update_data = 0 this.owner:tell("[Isolation] ", this.task_running[1], ":", this.task_running[2], " appears to be broke.") return this.owner:tell("[Isolation] ", toliteral(e)) endtry endif suspend(this.delay_typical) endwhile this.task_update_data = 0 "Last modified by Eve (#2633) on Tue Sep 26 09:14:15 2000 MDT." . 0