Decrease ref-count; close FD only when last user is done.
(self)
| 198 | self.file.flush() |
| 199 | |
| 200 | def close(self) -> None: |
| 201 | """Decrease ref-count; close FD only when last user is done.""" |
| 202 | with self._class_lock: |
| 203 | count = self._ref_counts.get(self.log_file, 0) - 1 |
| 204 | if count <= 0: |
| 205 | self._ref_counts.pop(self.log_file, None) |
| 206 | self._instances.pop(self.log_file, None) |
| 207 | with self._write_lock: |
| 208 | if self._owns_file and not self.file.closed: |
| 209 | self.file.close() |
| 210 | else: |
| 211 | self._ref_counts[self.log_file] = count |