Mutex and other resources are not destroyed
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- operating-systems
Research direction
Start by reading the Mutex implementation around Mutex::new and Mutex::from_existing, then inspect how the other primitives manage ownership. Check where pthread_mutex_destroy is absent and determine which destruction or shared-reference behavior the project can support; done requires an agreed design for safely releasing these resources.
Written by the indexing model from the issue text.
Description
While looking at the Mutex implementation, I noticed that there is never a call to pthread_mutex_destroy, and the same applies also to other primitives. This "might" lead to leaks in the application. Might, because on some platforms that isn't necessary.
Now the current Mutex::new and Mutex:: from_existing results probably can't do that automatic freeing, since they are not sure whether something else still uses them. There might need to be either an unsafe destroy method for it.
Alternatively, there can be refcount stored in shared memory next to the mutex, and dropping any of those objects decreases it.
- Dominant language
- Rust
- Stars
- 66
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from elast0ny/raw_sync-rs
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
elast0ny/raw_sync-rs#39 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
elast0ny/raw_sync-rs#34 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
elast0ny/raw_sync-rs#30 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
elast0ny/raw_sync-rs#28 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
elast0ny/raw_sync-rs#22 ·
All issues in elast0ny/raw_sync-rs
Similar issues
-
bug easy good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
lacs-project/sysknife#659 ·
Maintainers usually reply within 2 days
-
E_FIT_INPUT_MISSING (mixture overrides): the message says ferx-r bundles lack mixture_overridesOpenP3
Difficulty 1/5 Under an hour Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
registrystack/registry-stack#2431 ·
Maintainers usually reply within 1 day
-
contribution
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
farion1231/cc-switch#8863 · 1 comment ·
Maintainers usually reply within 1 day