According to documentation f(Pid)
removes the binding of variable Pid, the process is not stopped.
You can test it in this way: suppose you have a gen_server called myserver
which is based on the skeleton provided by emacs erlang mode.
1> {ok, Pid} = myserver:start_link().
{ok,<0.39.0>}
2> f(Pid).
ok
3> gen_server:call(pid(0,39,0), mycall).
ok
4> gen_server:call(myserver, mycall).
ok
As you can see even though we did f(Pid)
we can still contact the process using its pid or the atom used during registration (in our case the module name).