diff options
Diffstat (limited to 'pseudo_client.c')
-rw-r--r-- | pseudo_client.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/pseudo_client.c b/pseudo_client.c index 7330f9d..39f9641 100644 --- a/pseudo_client.c +++ b/pseudo_client.c @@ -76,6 +76,9 @@ static int nfds = 0; static int messages = 0; static struct timeval message_time = { .tv_sec = 0 }; static int pseudo_inited = 0; + +static int sent_messages = 0; + int pseudo_nosymlinkexp = 0; /* note: these are int, not uid_t/gid_t, so I can use 'em with scanf */ @@ -731,6 +734,11 @@ client_ping(void) { return 0; } +static void +void_client_ping(void) { + client_ping(); +} + int pseudo_fd(int fd, int how) { int newfd; @@ -1066,6 +1074,11 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path /* disable wrappers */ pseudo_antimagic(); + if (!sent_messages) { + sent_messages = 1; + atexit(void_client_ping); + } + if (op == OP_RENAME) { va_list ap; if (!path) { |