add log and use error! in Drop of Handle to let users choose if they want to care about failed CloseHandle
This commit is contained in:
@@ -10,6 +10,7 @@ keywords = ["memory", "game", "hacking", "process"]
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive_more = { version = "1.0.0", features = ["display"] }
|
derive_more = { version = "1.0.0", features = ["display"] }
|
||||||
|
log = "0.4.22"
|
||||||
thiserror = "2.0.9"
|
thiserror = "2.0.9"
|
||||||
|
|
||||||
[dependencies.windows]
|
[dependencies.windows]
|
||||||
|
|||||||
@@ -21,15 +21,13 @@ impl Deref for Handle {
|
|||||||
|
|
||||||
impl Drop for Handle {
|
impl Drop for Handle {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
if self.0 != INVALID_HANDLE_VALUE {
|
|
||||||
unsafe {
|
unsafe {
|
||||||
if let Err(why) = CloseHandle(**self) {
|
if let Err(why) = CloseHandle(**self) {
|
||||||
eprintln!("failed to close handle: {why}");
|
log::error!("failed to close handle: {why}");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl Handle {
|
impl Handle {
|
||||||
pub fn from_pid(pid: u32) -> Result<Self, crate::Error> {
|
pub fn from_pid(pid: u32) -> Result<Self, crate::Error> {
|
||||||
|
|||||||
Reference in New Issue
Block a user