Comments (4)
It's a 500ms wait, not a 1500ms wait, and there are some reasons for it.
The CreateThread creates a thread which performs some cleanup tasks. The cleanup task is started as a separate thread since it sometimes gets stuck / hangs - sometimes due to external libraries.
That is the reason why I create a separate thread with a Sleep afterwards instead of having all the cleanup tasks in the main thread alternatively wait for thread exit with the WaitForSingleObject.
The TerminateProcess is an async call and the process will normally terminate before the Sleep(1000) has executed any meaningful time. In total it's more equivalent to a ~500ms wait - which is kinda ok.
from memprocfs.
Hi @ufrisk , thank you for the response.
That is the reason why I create a separate thread
I understand that in reading your comment in the code, and
The TerminateProcess is an async call and the process will normally terminate before the Sleep(1000)
is ok (we are supposing that Sleep(1000)
has very little change to be executed).
But I still don't understand why you've used Sleep
, because such a piece:
CreateThread(...);
Sleep(500); // so it delays the process for 500ms
IMHO, can always be replaced (and probably better) by
HANDLE h = CreateThread(...);
WaitForSingleObject(h, 500); // so it delays the process for at most 500ms
from memprocfs.
Thanks 👍 I'll change it in the next version which I'll hopefully push some time in September (with full registry support).
from memprocfs.
Implemented, shutdown times are now noticeably faster. Thanks.
https://github.com/ufrisk/MemProcFS/blob/master/MemProcFS/memprocfs.c#L74
from memprocfs.
Related Issues (20)
- DEVICE: FAIL: unable to parse elf header MemProcFS: Failed to connect to memory acquisition device. HOT 4
- MemProcFS: Failed to load initial memory map from: '...' HOT 11
- The error return value of the API VMMDLL_Map_GetPteU. HOT 4
- Linux C11 atomics compatibility HOT 5
- Linux GCC/Clang inline semantics HOT 2
- String types const correctness HOT 5
- Can't specify -memmap file HOT 2
- [Not an Issue, just help request] How to find all available "virtual addresses" for process. HOT 2
- MemProcFS C# API: problem with reading file HOT 4
- Minor Typo HOT 2
- Please add -V or -version option HOT 4
- Add check option? HOT 3
- VMMDLL_Map_GetHeapAlloc() VMMDLL_MAP_HEAPALLOCENTRY.cb off by 8 low HOT 3
- Python process.maps.heapalloc() size and memory read issues. HOT 1
- Rust API: VmmYaraResult.result is empty even if VmmYaraResult.total_results>0. HOT 9
- How do you set the interval in the configset vmmdll_opt_refresh HOT 2
- Question: Best way to get findevil results from Rust API HOT 3
- VMMDLL_Initialize init problems on AMD + LINUX HOT 1
- Some Windows 7 memory images cannot analyze dst ip and dst port. HOT 1
- An issue with mounting image files HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from memprocfs.