microsoft / microsoft/STL

<chrono>: `icu.dll` is not unloaded

Open
#2,316 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

chrono enhancement
Dominant language
C++
Stars
11.1k
Forks
1.7k
Avg merge
4d 15h
Merged PRs (30d)
22

Description

icu.dll is loaded here:
https://github.com/microsoft/STL/blob/ee5a216b516ef033d9153b324842369eee7653d1/stl/src/tzdb.cpp#L66

It is never unloaded.

It is an issue if it is used by a DLL which is expected to unload clean.

I recall @BillyONeal didn't let me to do that for atomic wait dll.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the linked stl/src/tzdb.cpp location where icu.dll is loaded, then compare its lifetime handling with the atomic wait DLL behavior mentioned in the issue. Determine how the library can be unloaded cleanly when used from a DLL, and verify that the resulting change does not leave icu.dll loaded after the owning DLL unloads.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.