Skip to content
Snippets Groups Projects
Commit e882dd6d authored by Henrik (Grubba) Grubbström's avatar Henrik (Grubba) Grubbström
Browse files

Pike.identify_cycle: Fix various issues with LFUNs throwing errors.

LFUNs used by mapping operations may throw errors; this caused
identify_loop_visit_leave() to also throw errors. The rest of
the identify_cycle code was not happy about this and

  * Forgot to unlock the mc_mutex. This caused all following calls
    to Pike.identify_cycle() and Pike.count_memory() to hang.

  * Leaked memory.

The above issues are now avoided by instead using the addresses
of objects as indices in the affected mapping. It also fixes
the issue with hangs if there are objects with lfuns calling
Pike.identify_cycle() or Pike.count_memory().

Fixes [PIKE-106].
parent 57010c63
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment