Improve the descriptor close process#1650
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1650 +/- ##
==========================================
+ Coverage 56.19% 56.35% +0.15%
==========================================
Files 140 140
Lines 18561 18595 +34
Branches 4471 4483 +12
==========================================
+ Hits 10431 10479 +48
+ Misses 5422 5391 -31
- Partials 2708 2725 +17
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
b20ef21 to
4648b99
Compare
4648b99 to
d57fc8b
Compare
d57fc8b to
3c2d7b7
Compare
This is useful for breaking circular references that prevent the objects from being freed. This is currently only used for sockets.
The weak references between the parent and child sockets now allows them to be freed automatically.
The watch listeners have a non-counted reference to its epoll instance, so make sure they are removed properly.
3c2d7b7 to
6855a23
Compare
6855a23 to
46caabf
Compare
sporksmith
left a comment
There was a problem hiding this comment.
Looks like a nice improvement!
|
@sporksmith Re-adding you as reviewer since I changed up the reference counting logic, and want to make sure I didn't mess anything up. |
e469c23 to
c9e0b4a
Compare
This PR makes some improvements to decouple the descriptor table and legacy descriptor objects. It should improve simulation accuracy and make it easier to write rust syscalls that need to work with legacy descriptors. It also closes all descriptors when the process ends, but doesn't disassociate them, so this appears to fix #1596.