Skip to content

Commit 6720959

Browse files
committed
docs: summarize XERBLA handler semantics
1 parent 477131d commit 6720959

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

docs/extensions.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,7 @@ BLAS-like and conversion functions for `hfloat16` (available when OpenBLAS was c
4747
* `int openblas_set_affinity(int thread_index, size_t cpusetsize, cpu_set_t *cpuset)` sets the CPU affinity mask of the given thread
4848
to the provided cpuset. Only available on Linux, with semantics identical to `pthread_setaffinity_np`.
4949
* `openblas_set_thread_callback_function` overrides the default multithreading backend with the provided argument
50-
* `openblas_set_xerbla(openblas_xerbla_handler handler)` installs a process-wide XERBLA error handler and returns the
51-
previous handler. Passing `NULL` restores the default handler. Handlers must be thread-safe because they may be called
52-
concurrently. Replacing a handler is thread-safe but does not wait for in-progress calls to return, so the previous handler's
53-
code must remain loaded until those calls finish. The `name` and `info` pointers are valid only during the callback. `name`
54-
points to `name_length` valid bytes and need not be NUL-terminated; the length stops before the first NUL but otherwise includes
55-
trailing spaces. Handler registration works normally on ELF platforms. For backward compatibility, an application-provided
56-
strong `xerbla` symbol still overrides the OpenBLAS dispatcher and bypasses the registered handler.
50+
* `openblas_set_xerbla(openblas_xerbla_handler handler)` replaces the XERBLA handler for the current OpenBLAS
51+
instance and returns the previous handler; passing `NULL` restores the default. Callbacks may be invoked concurrently
52+
and therefore must be thread-safe. `name` is valid for `name_length` bytes during the callback and need not be
53+
NUL-terminated. On ELF platforms, an application-provided strong `xerbla` symbol bypasses the registered handler.

0 commit comments

Comments
 (0)