GConf Backing Locking



Hi,

  I have been looking at the GConf backend locking in particular in
~/.gconf/%gconf-xml-backend.lock/ior, it seems that this file is locked
for the entire life span of the gconfd. This seems to create problem if the
user's home directory is NFS mounted and he can generally login to
multiple machines. From http://www.gnome.org/projects/gconf/, I see
there are a number of workaround fixes.

  I was talking to Stephen Browne to see can we not only lock this entire
file when the daemon needs to update the files, and release the lock when
the write is finished. He said he has previous bad experiences in locking NFS file, I am wondering if this why the 'unlock_entire_file' macro in gconf-internals.c
is never used?

If one would try to make the gconf xml backend to be of a 'fine-grain' locking, have this been considered before? Basically, this is how I think it should work:

- daemon check if lockable
  - if yes create lock, update database, release lock
- else set a timer to check if lockable
- If still not lockable after a number of attempts log error

Is this over simplistic? Are there practical things to watch out for?
I would think this should address bug http://bugzilla.gnome.org/show_bug.cgi?id=84101

  Thanks,

-Ghee





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]