Hygienic termination
- Dominant language
- C#
- Stars
- 451
- Forks
- 49
- Avg merge
- 13h 59m
- Merged PRs (30d)
- 6
Description
Since we are starting to allocate persistent data that may outlive the runtime (see #478), it's time to discuss our cleanup policy.
I propose that we should try to support the running of multiple Cesium programs in the same runtime process, at least one after another, and also we should not leave any unused buffers or leak anything after ourselves, at least in correct programs.
In particular, I propose us to have some kind of a cleanup procedure that we'll call at the end of `main` (and, for any advanced hosting scenarios, the user would call themselves e.g. when loading a Cesium library).
That cleanup function would drop caches of `getenv()` and such, so that the runtime is ready for the next program run.
Contributor guide
Research direction
Start by reading issue #478 and tracing how persistent data, caches such as getenv(), and runtime buffers are allocated. Define the cleanup procedure's responsibilities for repeated Cesium program runs and advanced hosting scenarios, then verify that correct programs leave no unused buffers or leaks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100