Open d-w-moore opened 2 months ago
This is implemented in https://github.com/d-w-moore/python-irodsclient/tree/614.m . It does not, however, need to be connected with v3.0.0 in any way. No one is asking for it except me.
Add a test to that branch? and we're good to merge for 3.0.0?
(PRC = Python iRODS Client) Some modules (Example: irods-fs) may leverage PRC-level objects, but possibly sit at a different (likely higher) abstraction level , and so it would be common for these modules' authors to prefer that their objects finalization should occur as prelude or perhaps even postlude to PRC objects' shutdown.
in the case of irods-fs for example, their handles are higher-level and should be closed first, before PRC internal shutdown functions execute. (PRC internally shuts down network connections in certain situations, e.g. to guarantee saving of data object content written but not yet flushed, and to return data objects to an unlocked status.) We should provide an interface to guarantee all of this can happen in the proper sequence.
Example from
some_module_using_prc
:irods.register_function_for_client_shutdown ( my_close_function , RUN_BEFORE_PYTHON_IRODSCLIENT_SHUTDOWN)