all fd api are really async
More tests for fd related functions
Merge remote-tracking branch 'origin/master'