The krb5 kadm5 libraries seem to use global variables that hold the
master key for the realm and some other realm specific data. Mutexes
did not seem to get rid of all the problems related to this and
some lockups still happened, so fork the process instead before
doing any krb5 operations. The process is forked twice and the first
forked process acts as a timer to kill the worker process if the
password change is not finished in 2 seconds.