Hi Roy,
The following sequence will remove addressess at exit despite the -p option:
$ killall dhcpcd; dhcpcd wlan0; dhcpcd -x -p wlan0
whereas with a manager addressess are left alone as expected:
$ killall dhcpcd; dhcpcd -M wlan0; dhcpcd -x -p wlan0
Seems to me signal sending should be skipped if -p is given, falling back to sending a command to the daemon instead.
--Daniel