On Fri, May 03, 2013 at 01:38:47PM -0600, Eric Blake wrote: > On 05/02/2013 06:07 AM, Daniel P. Berrange wrote: > > On Thu, May 02, 2013 at 01:03:41PM +0100, Daniel P. Berrange wrote: > >> From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > >> > >> Since PIDs can be reused, polkit prefers to be given > >> a (PID,start time) pair. If given a PID on its own, > >> it will attempt to lookup the start time in /proc/pid/stat, > >> though this is subject to races. > >> > >> It is safer if the client app resolves the PID start > >> time itself, because as long as the app has the client > >> socket open, the client PID won't be reused. > >> > >> Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > > > > > >> +#elif defined(__FreeBSD__) > >> +int virProcessGetStartTime(pid_t pid, > >> + unsigned long long *timestamp) > > > > > Note this BSD specific code block has not even been compile tested. > > It is just copied from the polkit codebase with minimal conversion > > to libvirt standards. > > I've compile-tested it on FreeBSD (well, I had to do some conflict > resolution in virstring to get this patch to apply, so I hope that when > you rebase, that you end up doing the same resolution - but the > conflicts didn't affect the BSD section of virprocess.c). It didn't > quite work: > > util/virprocess.c: In function 'virProcessGetStartTime': > util/virprocess.c:850: error: incompatible type for argument 3 of 'sysctl' > > I think you want to pass &p, not p, as the third argument (at least, > doing that cleared up compilation for me, although I don't know how to > test that the compiled result actually worked). Yes, you are corrrect - I mis-copied that Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list