-
Joe Clarke authored
On Mon, 2008-04-21 at 15:06 -0400, David Zeuthen wrote: > On Sat, 2008-04-19 at 01:34 -0400, Joe Marcus Clarke wrote: > > I'm seeing a few PK problems on FreeBSD, but I'm not sure if this is a > > problem with our port, or an issue in general. First, all of the tests > > David mentioned earlier (with polkit-auth) work. The built-in tests > > also appear to work. PK consumers also seem to work. > > > > What I'm noticing is that PolicyKit-gnome doesn't update in real-time. > > For example, if I launch polkit-gnome-authorization, then change a > > policy, the changes don't reflect in the GUI until I restart > > polkit-gnome-authorization. Also, I'm not seeing any UI changes in > > polkit-gnome-example when I click on the various buttons (though > > polkit-gnome-manager does launch). > > This suggests that file monitoring of /var/lib/misc/PolicyKit.reload is > somehow botched. Is polkit_context_io_func() in polkit-context.c ever > called if you do > > # touch /var/lib/misc/PolicyKit.reload > > Is it called if you manually grant/revoke an authorization using > polkit-auth(1)? (And does /var/lib/misc/PolicyKit.reload change mtime > in that case?) Thanks for your advice. I was not monitoring the reload file for attribute changes, so I was missing the mtime change. That is working now. I updated the PK diff with the portability fix. I didn't actually use the Solaris code as it caused a slew of compiler warnings and other problems. Instead, I went with creating a kit-lib.[ch] to store the missing functions. As for strndup(), I stuck that in kit-string.c. I wrapped all of these functions with configure checks to avoid hard-coding OS checks. This should make it easier to port PK to other platforms. I would still like your advice on the IO problem with PK-gnome. I have changed io_watch_have_data() in polkit-gnome-manager.c to return FALSE instead of TRUE to auto-remove the IO watch. As I said, FreeBSD's poll() continuously indicates EOF as a G_IO_IN condition until it is handled. By returning FALSE here, the infinite loop is fixed, and I didn't notice any other problems. What problems could this cause? Is there a better way of handling this? Thanks. http://www.marcuscom.com/downloads/pk/ Joe -- Joe Marcus Clarke FreeBSD GNOME Team :: gnome@FreeBSD.org FreeNode / #freebsd-gnome http://www.FreeBSD.org/gnome
40c8b8ae