Bug 602599 - [RFE] A new API for custom cleanup prior to close in perl bindings
Summary: [RFE] A new API for custom cleanup prior to close in perl bindings
Status: CLOSED WONTFIX
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libguestfs   
(Show other bugs)
Version: unspecified
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact:
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-06-10 09:34 UTC by Matthew Booth
Modified: 2010-09-30 10:59 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-09-30 10:59:19 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Matthew Booth 2010-06-10 09:34:21 UTC
If the perl bindings introduce an explicit close API, it will no longer be safe to rely on object destruction to call cleanup code. For example, if a program creates a temporary directory which must persist for the duration of the program but must be cleaned up prior to exit, the program cannot rely on a destructor to do the cleanup as the handle may have been closed before the destructor is executed.

A solution to this would be to allow callbacks to be registered and executed immediately prior to close(). For example:

$g->pre_close(sub {
  $g->rmdir($self->{foo});
});

Comment 1 Richard W.M. Jones 2010-06-10 17:18:32 UTC
See my reply here:
https://www.redhat.com/archives/libguestfs/2010-June/msg00096.html

Comment 2 Richard W.M. Jones 2010-09-30 10:34:26 UTC
Matt, what's the current status of this one?  If virt-v2v
no longer needs it, then we should close it.  If there is
still pain for virt-v2v then we should leave it open, but
see also comment 1 about how hard it is to solve it.

Comment 3 Matthew Booth 2010-09-30 10:59:19 UTC
I worked round it with GuestfsHandle, so i don't need this any more.


Note You need to log in before you can comment on or make changes to this bug.