-
Notifications
You must be signed in to change notification settings - Fork 228
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
try fails to catch alarm #3371
Comments
To make sure I understand, the problem is that i27 : f = t -> (alarm 1; sleep t;); f 10
stdio:23:38:(3): error: alarm occurred
i29 : f = t -> (alarm 1; sleep t); f 10
stdio:24:37:(3): error: alarm occurred I'm sure you've seen it, but the solution might be related to #2596 also. |
I don't think this is the same bug as #2596, though experience fixing one might help with the other. |
@DanGrayson (or anyone else) can you explain why Lines 1616 to 1621 in ec9e9ac
and not just eval(c:Code) ? I guess I'm asking the same question as above, what is the purpose of evalexcept ?
|
There are already existing open issues with
alarm
, this I think is a new one:This issue is presumably related to tail call optimisation (?).
Note that I already submitted a PR a while ago about tail call, namely #3144, but it does not impact the issue described above.
I traced the issue to two different places that
alarm
is triggered, both in evaluate.d, namelyevalraw
in the first case,evalexcept
in the second. I could try to fix something but first I would need to understand better the difference between these two functions. Note thatevalraw
has this commentpresumably suggesting I should notice something that I don't...
The text was updated successfully, but these errors were encountered: