using O_ASYNC on fd