| 267 | static _Atomic(void*) mi_out_arg; // = NULL |
| 268 | |
| 269 | static mi_output_fun* mi_out_get_default(void** parg) { |
| 270 | if (parg != NULL) { *parg = mi_atomic_load_ptr_acquire(void,&mi_out_arg); } |
| 271 | mi_output_fun* out = mi_out_default; |
| 272 | return (out == NULL ? &mi_out_buf : out); |
| 273 | } |
| 274 | |
| 275 | void mi_register_output(mi_output_fun* out, void* arg) mi_attr_noexcept { |
| 276 | mi_out_default = (out == NULL ? &mi_out_stderr : out); // stop using the delayed output buffer |