syslog(), routines used in write_warmstart(), and exit(3) are all signal-unsafe. Disable the former two (which are already off by default after r317168) and convert the latter to an _exit(2) to make rpcbind exit safely on signal delivery.
The _exit() bit looks right to me.
Note that warmstart has always been off by default (not just as of r317168), and this change effectively renders the feature useless, so if you're going to touch it you might as well just delete it entirely (or fix it :)).
This change makes the WARMSTART option non-functional.
Proper fix would be to set a flag in the signal handler and check for it in my_svc_run() loop, doing the dump of the rpc registrations in the context of the main loop.