Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Not closing HANDLE properly in multiple locations #13

Closed
imdaveho opened this issue Nov 8, 2019 · 0 comments
Closed

Bug: Not closing HANDLE properly in multiple locations #13

imdaveho opened this issue Nov 8, 2019 · 0 comments
Assignees
Labels
bug Something isn't working doing Currently being worked on actively. performance Performance related

Comments

@imdaveho
Copy link
Owner

imdaveho commented Nov 8, 2019

Problem to Solve
Currently, in multiple locations:

  • cursor.rs (let handle = Handle::conout()? ln 33, ln 69, ln 83, ln 93)
  • mouse.rs(let handle = Handle::conin()? ln 11, ln 19)
  • output.rs
  • screen.rs
  • style.rs
  • windows/parser/mod.rs

Handle is being called but never closed. This creates multiple hanging Handles that needs to be cleaned up.

Repro

  • lookup Handle:: in project to find all locations where this is the case

Tasks

  • ensure that Handles are closed after requesting them in locations above
  • (optional) look at #309 to modify windows input thread polling to prevent multiple calls to create Handle without closing
    • this might be able to be done by creating a single CONIN$ handle that is cleaned up properly on close
@imdaveho imdaveho added bug Something isn't working performance Performance related labels Nov 8, 2019
@imdaveho imdaveho self-assigned this Dec 3, 2019
@imdaveho imdaveho added the doing Currently being worked on actively. label Dec 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working doing Currently being worked on actively. performance Performance related
Projects
None yet
Development

No branches or pull requests

1 participant