[grpc-io] gRPC build with gcc on macOS fails because of boringssl-with-basel

2024-01-22 Thread Dan Cohen
Hello, I need to build gRPC with gcc on mac. When trying to do so, boringssl-with-basel compilation fails with: *[ 12%] Building ASM object third_party/boringssl-with-bazel/CMakeFiles/crypto.dir/apple-aarch64/crypto/chacha/chacha-armv8-apple.S.oclang: error: unsupported option '--noexecsta

[grpc-io] Using SetThreadCreationHook to control gRpc internal threads affinity

2024-01-24 Thread Dan Cohen
Hello, I'm implementing an async gRPC server in c++. I need to control and limit the cores that are used by gRPC internal threads (the completion queues handler threads are controlled by me). Would SetThreadCreationHook be a good place to do so? If not, is there any other way to control it? Tha

[grpc-io] Setting gRPC internal threads' affinity

2024-01-25 Thread Dan Cohen
Hello, I'm implementing an async gRPC server in c++. I need to control and limit the cores that are used by gRPC internal threads (the completion queues handler threads are controlled by me) - i.e. I need to set those threads' affinity. Is there a way for me to do this without changing gRPC cod

[grpc-io] Re: Setting gRPC internal threads' affinity

2024-02-07 Thread Dan Cohen
over the threading model and all async behavior by implementing a custom EventEngine <https://github.com/grpc/grpc/blob/5c988a47c4285bf8973a96c3a45bc15a7b9b678b/include/grpc/event_engine/event_engine.h> . Cheers, -aj On Thursday, January 25, 2024 at 10:26:07 AM UTC-8 Dan Cohen wrote: Hello

[grpc-io] Re: Setting gRPC internal threads' affinity

2024-02-09 Thread Dan Cohen
e or some other method). Only the EventEngine interface is exposed to library users. Any advice on that? Is my only option to incorporate the grpc source into my project? Thanks, Dan On Thursday, February 8, 2024 at 12:50:04 AM UTC+2 Dan Cohen wrote: > Thanks AJ. > Will have a look at

[grpc-io] Grpc async server memory leak

2024-11-12 Thread Dan Cohen
SIGABRT, SIGSEGV, SIGFPE, SIGILL, SIGBUS, SIGSYS, SIGSTOP, SIGUSR1 }; for (int signum : signals_to_handle) { sigaction(signum, &sa, nullptr); } } int main() { register_signals(); server::get_server().init_server(); while (true) { std::this_thread::yield(); } server::get_server().close_serve