mea culpa, but I'd rather just remove the unlink of the socket. OK?
Index: control.c =================================================================== RCS file: /cvs/src/usr.sbin/ldpd/control.c,v retrieving revision 1.29 diff -u -p -u -r1.29 control.c --- control.c 3 Mar 2017 23:30:57 -0000 1.29 +++ control.c 19 Jun 2020 13:40:46 -0000 @@ -98,11 +98,10 @@ control_listen(void) } void -control_cleanup(char *path) +control_cleanup(void) { accept_del(control_fd); close(control_fd); - unlink(path); } /* ARGSUSED */ Index: control.h =================================================================== RCS file: /cvs/src/usr.sbin/ldpd/control.h,v retrieving revision 1.9 diff -u -p -u -r1.9 control.h --- control.h 3 Mar 2017 23:30:57 -0000 1.9 +++ control.h 19 Jun 2020 13:40:46 -0000 @@ -32,7 +32,7 @@ extern struct ctl_conns ctl_conns; int control_init(char *); int control_listen(void); -void control_cleanup(char *); +void control_cleanup(void); int control_imsg_relay(struct imsg *); #endif /* _CONTROL_H_ */ Index: ldpe.c =================================================================== RCS file: /cvs/src/usr.sbin/ldpd/ldpe.c,v retrieving revision 1.76 diff -u -p -u -r1.76 ldpe.c --- ldpe.c 10 Aug 2019 01:30:53 -0000 1.76 +++ ldpe.c 19 Jun 2020 13:40:46 -0000 @@ -171,7 +171,7 @@ ldpe_shutdown(void) msgbuf_clear(&iev_main->ibuf.w); close(iev_main->ibuf.fd); - control_cleanup(global.csock); + control_cleanup(); config_clear(leconf); if (sysdep.no_pfkey == 0) {