When interfaces cross depend on each other nested acquiring from their acquire handlers would introduce cyclic references which cant be cleaned easily. By flagging such nested acquisitions as weak the respective handler functions can account for this. Example: maintain 2 ref counters one for strong and one for weak acquisitions. At release time all acquired nested handles get closed when the strong counter drops to zero, which causes that cross reference releases will eventually drop the weak count to zero too. Then all resources can be freed and the interface is properly shut down. |
||
|---|---|---|
| .. | ||
| backend | ||
| common | ||
| gui | ||
| lib | ||
| plugin | ||
| proc | ||
| tool | ||
| .gitignore | ||
| DIR_INFO | ||
| main.cpp | ||
| pre.hpp | ||
| pre_a.hpp | ||