FirebirdSQL / firebird

Firebird server, client and tools
https://www.firebirdsql.org/
1.26k stars 217 forks source link

embedded: after fb_shutdown some files stay locked [CORE5299] #5577

Open firebird-automations opened 8 years ago

firebird-automations commented 8 years ago

Submitted by: Nick (nick)

Is duplicated by CORE6014

Votes: 2

icudt52l.dat ib_util.dll icudt52.dll icuuc52.dll msvcr100.dll

After this: --- fb_shutdown(60000, fb_shutrsn_app_stopped); FreeLibrary(LibHandle); --

upd: firebird.msg is not locked.

firebird-automations commented 8 years ago
Modified by: Nick (nick) description: icudt52l\.dat ib\_util\.dll icudt52\.dll icuuc52\.dll msvcr100\.dll firebird\.msg After this: \-\-\- fb\_shutdown\(60000, fb\_shutrsn\_app\_stopped\); FreeLibrary\(LibHandle\); \-\- =\> icudt52l\.dat ib\_util\.dll icudt52\.dll icuuc52\.dll msvcr100\.dll After this: \-\-\- fb\_shutdown\(60000, fb\_shutrsn\_app\_stopped\); FreeLibrary\(LibHandle\); \-\- upd: firebird\.msg is not locked\.
firebird-automations commented 8 years ago

Commented by: Nick (nick)

please response

firebird-automations commented 5 years ago
Modified by: @hvlad Link: This issue is duplicated by [CORE6014](https://github.com/FirebirdSQL/firebird/issues?q=CORE6014+in%3Atitle) \[ [CORE6014](https://github.com/FirebirdSQL/firebird/issues?q=CORE6014+in%3Atitle) \]
SkliarOleksandr commented 1 year ago

Hey guys, any updates when it will be fixed?

hvlad commented 1 year ago

What you mean by "locked" and what actual problem you have ?

SkliarOleksandr commented 1 year ago

Well, "locked" means I can't delete/overwrite these files after closing fbclient.dll handle. I use fb 4.0.2 embedded under 64bit app. Everything works well but when I close the app (call FreeLibrary(Handle)), some files from fb still remains in memory: 'fb64\ib_util.dll' 'fb64\icudt63.dll' 'fb64\icudt63l.dat' 'fb64\icuin63.dll' 'fb64\icuuc63.dll' 'fb64\intl\fbintl.dll' 'fb64\msvcp140.dll' 'fb64\vcruntime140.dll'

hvlad commented 1 year ago

It is not very easy to unload some of these DLL's. I doubt we can do something with MSVC CRT ones, for example. Thus, before start impl, I want to be 100% sure it is really needed. Why you want to delete these files while your app is running ? Do you need to delete all of these files or some of them (which) ?

SkliarOleksandr commented 1 year ago

It's simple - it's in-app backup/restore and app-upgrade procedures. It's not critical, really. Right now we just rename these files, and it works. Anyway, thank you, hvlad!