Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6476 Discussions

using FreeLibrary() and (language: C++ version: 2021.4.2 LTS),ERROR

anony
Beginner
1,513 Views

I get an error when trying to free a DLL that uses openvino with the FreeLibrary() function. I saw the link below, is there any way to solve it for version: 2021.4.2 LTS? The language is C++.I looked at the link below, but it instructed to update. I don't want to do an update because the changes are huge.

 

link

0 Kudos
6 Replies
Megat_Intel
Moderator
1,475 Views

Hi Anony,

Thank you for reaching out to us.

 

Unfortunately, the function to unload OpenVINO™ frontend libraries was only added in OpenVINO Toolkit v.2022 as mentioned under the "Component updates" subsection, under the "System Requirements" section in the Release Notes for Intel® Distribution of OpenVINO™ toolkit v.2022.

 

Therefore, the only way to unload the DLL is by upgrading the OpenVINO™ toolkit version to the 2022.1.1 version onwards. We apologize for the inconvenience.

 

On another note, in the OpenVINO™ v.2022, calling the ov::shutdown function will delete all static-duration objects allocated by the library and release dependent resources and should clean up all resources after itself when the library is unloaded.

 

 

Regards,

Megat


0 Kudos
anony
Beginner
1,447 Views

Thank you for your reply.

I am now calling OpenVINO from another DLL. That is, the situation is as follows.
a.exe-sub.dll-openvino.dll Now I get an error when trying to free sub.dll. However, when I shut down the computer itself, it doesn't seem like any processes are left behind. Therefore, we should think that the OpenVINO memory has been erased on the PC side. In the first place, I thought that the shutdown function was not implemented in the 2021 version because it would be deleted anyway.
Is there any windows function that does this shutdown process other than feelibrary? I only want to free the DLL. I want it to finish without errors.
In summary, the questions are:
How was the 2021 version of openvino supposed to end in the first place?
What is the windows function for that? I want to call them from C++.

thank you

0 Kudos
Megat_Intel
Moderator
1,366 Views

Hi Anony,

Sorry for the late response.

 

For your information, OpenVINO™ Toolkit version 2021 and older do not have the library to clear the DLL file. The OpenVINO™ Toolkit developer received this feedback and improved on OpenVINO™ Toolkit version 2022 and onwards which can clear all OpenVINO™ related .dll files at the end of the execution.

 

Therefore, we request that you update your OpenVINO™ Toolkit version to the latest, as it also includes all the bug fixes and improvements. When using the OpenVINO™ version 2022 onwards, it should have the function call defined in openvino/runtime/core.hpp

ov::shutdown();

 

Hope this information help, thank you.

 

 

Regards,

Megat

 

0 Kudos
anony
Beginner
1,308 Views

thank you.
I understand that openvino's 2021 does not have an exit function.

What I don't understand is that even without ov::shutdown() in version 2021, the PC was shutting down normally.
I think that means that someone (either the OS or the calling exe) was automatically terminating the DLL.
Is there no way to call this "automatic termination" in a C++ function at any time?
outside the Freelibrary or ov::shutdown()

0 Kudos
Megat_Intel
Moderator
1,290 Views

Hi Anony,

From the Remarks section on the FreeLibrary function page, it is mentioned that when a process terminates, the system unloads the module from the address space of the process. We believed that when your PC is shutting down, it will automatically terminates and unloads the DLL.

 

The feature to unload the DLL library was only added by the developer in the OpenVINO™ 2022 releases onwards, therefore we cannot confirm if there is a way to call for the automatic termination of the DLL library in the OpenVINO™ 2021 version.

 

Furthermore, we apologize as we are unable to validate or confirm the Freeing of the loaded dynamic-link library (DLL) module as this seems to be more related to the Windows C++ header and not OpenVINO™ related.

 

 

Regards,

Megat

 

0 Kudos
Megat_Intel
Moderator
1,238 Views

Hi Anony,

This thread will no longer be monitored since we have provided a suggestion. If you need any additional information from Intel, please submit a new question.

 


Regards,

Megat


0 Kudos
Reply