Hi all, I'm beginning to incorporate zyre into my project and my signal handlers aren't gracefully shutting down:
https://github.com/SentryPeer/SentryPeer/blob/main/src/sentrypeer.c#L94 https://github.com/SentryPeer/SentryPeer/blob/main/src/signal_handler.c I thought it was how I was handling threads, so I went to minimal.c example: https://github.com/zeromq/zyre/blob/master/examples/minimal/minimal.c and trimmed it down to test: #include <zyre.h> #define ROOM "GROUP" int main (void) { zyre_t *node = zyre_new (NULL); assert (node); zyre_start (node); zyre_join (node, ROOM); char name[] = "sentrypeer"; zyre_shouts (node, ROOM, "Hello from %s", name); while (1) { sleep (1); } } When I compile and run above: gcc -Wall -o minimal minimal.c -lzyre -lczmq ./minimal Ctrl-C doesn't work and I need to Ctrl-Z then kill -9 on the process. What is eating SIGINT? In gdb I can see: (gdb) i thre Id Target Id Frame * 1 Thread 0x7ffff6706b80 (LWP 2510803) "minimal" 0x00007ffff7db03a5 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7fffffffd2e0, rem=rem@entry=0x7fffffffd2e0) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48 2 Thread 0x7ffff6703640 (LWP 2510811) "ZMQbg/Reaper" 0x00007ffff7de9c2e in epoll_wait (epfd=5, events=0x7ffff6701d30, maxevents=256, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30 3 Thread 0x7ffff5f02640 (LWP 2510812) "ZMQbg/IO/0" 0x00007ffff7de9c2e in epoll_wait (epfd=7, events=0x7ffff5f00d30, maxevents=256, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30 4 Thread 0x7ffff5701640 (LWP 2510813) "minimal" 0x00007ffff7ddd79f in __GI___poll (fds=0x7ffff5700820, nfds=3, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 5 Thread 0x7ffff4f00640 (LWP 2510814) "minimal" 0x00007ffff7ddd79f in __GI___poll (fds=0x7ffff4eff8d0, nfds=2, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 Thanks. -- Kind Regards, Gavin Henry. https://sentrypeer.org _______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
