Index: chrony-3.1/clknetsim-ce89a1b4e361c432ba3541548008ef0a87bd7fdb/client.c =================================================================== --- chrony-3.1/clknetsim-ce89a1b4e361c432ba3541548008ef0a87bd7fdb/client.c +++ chrony-3.1/clknetsim-ce89a1b4e361c432ba3541548008ef0a87bd7fdb/client.c @@ -1000,6 +1000,8 @@ int open(const char *pathname, int flags else if (!strcmp(pathname, "/dev/ptp1")) return SYSCLK_FD; + if (!_open) + _open = (int (*)(const char *pathname, int flags))dlsym(RTLD_NEXT, "open"); r = _open(pathname, flags); assert(r < 0 || (r < BASE_SOCKET_FD && r < BASE_TIMER_FD)); @@ -1018,6 +1020,8 @@ int close(int fd) { return 0; } + if (!_close) + _close = (int (*)(int fd))dlsym(RTLD_NEXT, "close"); return _close(fd); }