On Wed, Nov 07, 2012 at 08:46:36AM +0100, Svante Signell wrote: > Well the code is a pipe, see the attachment in > http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00006.html > and roland refers to pflocal in his reply. Can it happen that the old > pflocal is still used? I have added print statements to io.c in pflocal > and replaced it. Still no output.
That's probably what happens. The pflocal server is a bit sensitive, as Unix domain sockets are relied upon by numerous system applications. A reliable way to change it is to install the new executable in /hurd/pflocal, then reboot. > I did the following: > mv /hurd/pflocal.old > cp -p /usr/pflocal.new /hurd/pflocal > rebooted > Looks like both /hurd/pflocal and /hurd/pflocal.new are running: > #> ps -feM|grep pflocal > root 9 3 0:02.69 /hurd/pflocal > root 881 1 0:00.01 /hurd/pflocal.new > But in this case this should point to the same file. > How to get rid of one of them? Servers don't "point" to files, it's actually the contrary: file nodes refer to servers. But you're not looking at the right location. The node that actually refers to pflocal is /servers/socket/1: $ showtrans /servers/socket/1 /hurd/pflocal This means that pflocal is a passive translator for /servers/socket/1. It is automatically started on the first access to this node, and then serves the following requests until stopped (usually by a system shutdown). If you simply replace the executable file, it doesn't change the fact that the server is still running with the previous code, and the parent of /servers/socket/1 (normally the root file system server) still redirects lookups for this node to the already existing pflocal instance. -- Richard Braun