Comment 120 for bug 93546

Revision history for this message
In , higuita (higuita) wrote :

Seems to me that the problem is not the local file system, but network ones (nfs, afs, smbfs, cifs, etc), so why not break the problems in two?

firefox detect if the profile file system is a local fs or a network one and then:

if local, doesnt create the lock, uses the sqlite for multiple access browsers. before writing, check for the lock flag... set a minimun check interval for 10s to avoid too many checks. If lock detected, place a flag somewhere in the gui or give a warning that is running read only. this "read only" mode is the limited functionality Harry (comment #86) said.

if network file system, use the current lock system, and would block any other running instances after 10s, allowing the "network based" firefox to run and the other to run "read only"

if lock already exists, uses the current implementation: dont allow a new instance. Even better, allow the running, again, in "read only" mode

later we could allow a "take over" button, that on user decision, would allow a "read only" instance to take over the flag and start to write (again, after the 10s checkout). the take over would warn that even if several instances are running, only the "active" one could write data.

isnt perfect, but i'm sure would be enough for most people around here. the local instances would allow a user to run several browsers instances, to avoid one crash to take over all open browsers or running different version of the browser.

the network code would allow the same user to roamming machines and still have
access to the their browser.

the only problem i see is the crash recovery, but that might be another war... :)