Odin Rqt-close 💯
init_program :: proc() my_handle := CreateFile(...) runtime.add_cleanup(cleanup_my_resource, &my_handle)
A typical Odin solution uses conditional compilation: odin rqt-close
If you have dependent resources (e.g., a file mapping before the file handle), close child resources first. 3. Defer is Your Friend Odin’s defer statement is perfect for pairing allocation with release: init_program :: proc() my_handle := CreateFile(
| Platform | Resource Type | Close Function | |----------|---------------|----------------| | Windows | HANDLE | CloseHandle | | Linux / macOS | file descriptor | close (syscall or libc) | | WebAssembly (WASI) | fd | fd_close | odin rqt-close
if my_handle != INVALID_HANDLE CloseHandle(my_handle) my_handle = INVALID_HANDLE
package resource import "core:sys/windows"