Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.1:Update
kpat
FcSolveSolver-cleanup-ressources.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File FcSolveSolver-cleanup-ressources.patch of Package kpat
From d7fcc9a0c79f186118e0c20804af1f7467fc4580 Mon Sep 17 00:00:00 2001 From: Fabian Kosmale <0inkane@googlemail.com> Date: Thu, 29 Aug 2019 18:33:13 +0200 Subject: FcSolveSolver: cleanup ressources The FcSolveSolver did not call its free function in patsolve, leading to ressource exhaustion. BUG: 395624 --- patsolve/abstract_fc_solve_solver.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/patsolve/abstract_fc_solve_solver.cpp b/patsolve/abstract_fc_solve_solver.cpp index c82aee1..725c703 100644 --- a/patsolve/abstract_fc_solve_solver.cpp +++ b/patsolve/abstract_fc_solve_solver.cpp @@ -48,6 +48,16 @@ SolverInterface::ExitStatus FcSolveSolver::patsolve( int _max_positions ) init(); + // call free once the function ends. ### Replace this mess with QScopeGuard once we can use Qt 5.12 + auto cleanup = [this](){this->free();}; + using CleanupFunction = decltype (cleanup); + struct CleanupHandler { + CleanupHandler(CleanupFunction cleanup) : m_cleanup(std::move(cleanup)) {} + ~CleanupHandler() { m_cleanup();} + + CleanupFunction m_cleanup; + } cleaner(cleanup); + int no_use = 0; int num_moves = 0; get_possible_moves(&no_use, &num_moves); -- cgit v1.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor