Use an async getnameinfo to avoid blocking the process
Remove duplicate variables
Start of ping module
Close file descriptor in a thread to avoid unnecessary delay
Implement the ping module
Add timeout to ping module