[libc-commits] [libc] [libc] Export the RPC interface from `libc` (PR #71432)

Joseph Huber via libc-commits libc-commits at lists.llvm.org
Tue Mar 19 06:42:44 PDT 2024


================
@@ -522,9 +533,9 @@ LIBC_INLINE void Port<T>::recv_n(void **dst, uint64_t *size, A &&alloc) {
 /// is, there are send operations pending that haven't been serviced on this
 /// port. Each port instance uses an associated \p opcode to tell the server
 /// what to do. The Client interface provides the appropriate lane size to the
-/// port using the platform's returned value.
-template <uint16_t opcode>
-[[clang::convergent]] LIBC_INLINE Client::Port Client::open() {
+/// port using the platform's returned value. It is required that \p opcode is
----------------
jhuber6 wrote:

Yeah, it's not the best solution but not strictly required for correctness. This code isn't nullable, so there's no way for it to fail. Otherwise we could just return some null value if the ballot isn't all equal to the first lane or something. Regardless, it's not ideal.

https://github.com/llvm/llvm-project/pull/71432


More information about the libc-commits mailing list