fix fd not release bug