26.05.2016 15:19, Dimitry Sibiryakov wrote: > I tried to fix that by reusing savepoints started by looper. For that I > added > req_savepoints to request and in looper I store savepoint there after merging > it the same > way as SP savepoints are stored in req_proc_sav_point. > So far so good, savepoints stack in test case become right. > But build started to crash because some requests live longer than > transaction (which is > well-known) and the pointer to stored savepoints, allocated from transaction > pool become > invalid. It was expected and I put call to Savepoint::destroy() to > EXE_unwind() along with > releasing of req_proc_sav_point. But it still crash. > Where is a right place to release stored savepoints?
Where req_active is cleared. IIRC, one place is in the looper, second one is inside EXE_unwind. Or, a better place could be TRA_detach_request. It's called from either EXE_unwind (when request is released) or TRA_release_transaction (upon commit/rollback). Dmitry ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel