From: Christian K. <kre...@in...> - 2002-02-12 23:12:29
|
Thomas Staller wrote: > > hi there... > > its me again with yet another question :) Oh no! Not again! *grin* :) > i recently noticed that opening two or more viws for the same directory > will produce one populated view (the first one) and unpopulated views. > if i close an unpopulated view, the populated view ceases to receive > notifications from efsd. Correct. Simply put: Efsd ignores the second request for the monitoring, because it sees that the client is already monitoring the directory. Now when you close the empty view, E nonetheless sends a stop monitor command, and hence the populated view is cut off :) As I said recently, it can be argued where to put the logic here. The main point is whether Efsd should count the monitoring requests (i.e. when you request monitoring a directory five times, you'll need to request stopping the monitor to actually make it stop) or to ignore repeated requests and whether the file-exists events should be sent multiple times or not. This is one of the issues on top of my todo list, and if it's not too much I'd like to ask you folks to be patient here for a view more weeks. Regardless, I think the correct soultion is to make E smart enough to manage its views and keep track. The quick solution would be disallowing more than one open view for a directory. The correct, but tricky solution is separating out those data structures from views that can be shared between multiple views (the list of files etc) and refcount them. This will both be faster and more scalable (no need for Efsd communication), but a good deal harder to implement, as there are a lot of issues (say you move file foo around in both views -- what are the correct coordinates for the icon to store as metadata etc. I guess it would work to treat the metadata for each instance of a view completely separately). Christian. -- ________________________________________________________________________ http://www.whoop.org |