Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

call_out can enter an inifinite loop #1

Closed
Voltara opened this issue Feb 26, 2013 · 3 comments
Closed

call_out can enter an inifinite loop #1

Voltara opened this issue Feb 26, 2013 · 3 comments

Comments

@Voltara
Copy link
Owner

Voltara commented Feb 26, 2013

void evil()
{
call_out("evil", 0);
}

The above causes an infinite loop because each call_out apply to "evil" gets a new eval_cost budget.

Propose fixing by limiting eval_cost for new immediate call_outs added while processing call_outs.

Voltara pushed a commit that referenced this issue Mar 7, 2013
@thefallentree
Copy link

I believe I actually witnessed one of this kind of bug happen in one of the mud.

CPU basically runs 100% , yet the game is still largely running, until some file got updated and the call out chain is broken.

call_out is also executed after the current(or at the end of ) heart_beat loop, right? So the eva_cost is probably not that useful to limit it.

@Voltara
Copy link
Owner Author

Voltara commented Mar 13, 2013

I drafted up a working patch for this a few weeks ago; I just need to get around to tidying up the code.

@Voltara
Copy link
Owner Author

Voltara commented Mar 13, 2013

I'm moving this issue ticket over to fluffos/fluffos (fluffos/fluffos#16)

@Voltara Voltara closed this as completed Mar 13, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants