Hi Werner, > > the forking of two siblings to have a `GETINFO pid' chat every > > minute. > > What you see are not new processes but merely two threads every > minute.
Yes, sorry, I saw the clone(2) and translated to fork. > --disable-check-own-socket can be used to disable this feature. Thanks. In Arch's 2.1.18-1's agent/gpg-agent.c's handle_connections(), I see if (disable_check_own_socket) my_inotify_fd = -1; else if ((err = gnupg_inotify_watch_socket (&my_inotify_fd, socket_name))) and my_inotify_fd is used with select(2). Does the per minute sibling thread chat still need to occur in that case? > > # define TIMERTICK_INTERVAL (2) > > I have not changed that interval because it is useful when you are > using smartcards. What is does is to check the aliveness of scdaemon > by doing a waitpid (pid, NULL, WNOHANG)). I don't see a system call with strace for that waitpid though? $ strace -tt -f gpg-agent --daemon ... 13:29:23.845564 inotify_init() = 7 13:29:23.845704 inotify_add_watch(7, "/run/user/1000/gnupg", IN_DELETE|IN_DELETE_SELF|IN_EXCL_UNLINK) = 1 13:29:23.845955 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=1, tv_nsec=999998782}, {[], 8}) = 0 (Timeout) 13:29:25.848353 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=2, tv_nsec=30747}, {[], 8}) = 0 (Timeout) 13:29:27.850760 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=2, tv_nsec=1343}, {[], 8}) = 0 (Timeout) 13:29:29.853172 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=2, tv_nsec=1218}, {[], 8}) = 0 (Timeout) 13:29:31.855622 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=2, tv_nsec=1263}, {[], 8}) = 0 (Timeout) 13:29:33.858052 pselect6(8, [3 4 5 6 7], NULL, NULL, {tv_sec=2, tv_nsec=1409}, {[], 8}) = 0 (Timeout) Does --disable-scdaemon mean the check isn't needed and select(2) can stretch to the next longer timeout? Either way, if the waitpid(WNOHANG) really is happening and strace isn't showing it, then could a thread not be dedicated to a hanging waitpid(), with it sending a message on a file descriptor back to the main thread's select()? > Not really resource intensive. No, I agree the work done isn't heavy; it's the regular periodic short-term wake-up that's a bit of a pain. > Note that gpg-agent makes sure that the tick happens on the full > second Noted. Though those `-tt' times from strace above have it creeping forward, off the second? -- Cheers, Ralph. https://plus.google.com/+RalphCorderoy _______________________________________________ Gnupg-users mailing list Gnupg-users@gnupg.org http://lists.gnupg.org/mailman/listinfo/gnupg-users