be double close() safe