How is non-blocking IO working ?