| 230 | } |
| 231 | |
| 232 | static void diag_directory_close(bool remove_directory) { |
| 233 | #ifndef _WIN32 |
| 234 | if (g_diag_directory_fd >= 0) { |
| 235 | (void)close(g_diag_directory_fd); |
| 236 | g_diag_directory_fd = -1; |
| 237 | } |
| 238 | #endif |
| 239 | cbm_private_lock_directory_close(g_diag_directory); |
| 240 | g_diag_directory = NULL; |
| 241 | if (remove_directory && g_diag_directory_path[0] != '\0') { |
| 242 | (void)cbm_rmdir(g_diag_directory_path); |
| 243 | } |
| 244 | } |
| 245 | |
| 246 | /* Diagnostics placement honors the documented contract ($TMPDIR, /tmp |
| 247 | * fallback) without touching cbm_tmpdir(), whose many other callers keep |
no test coverage detected