2faa1532f8
everything more readible. * Once I understood better how everthing is supposed to work, I've fixed some bugs. * The most important problem was that AddDirectory() placed the wrong entry (resolved symlinks) into the entry list it keeps for each directory. This resulted in the mechanisms not working at all when an add-on was a symlink. * There was a hidden TODO, which would mean that moving an add-on from one watched directory into another, like from home/config/add-ons/... into common/add-ons/... would drop the client application (media_server, input_server, ...) into the debugger. * The fFormerEntries list did not seem to serve any purpose. Basically it would not disable add-ons removed from a watched directory unless it changed it's name at the same time. I've removed it completely, since it didn't seem to be an optimization (entry cache) either. * Each actual add-on file is now node-monitored for stat changes. So if you have a link in the add-on folder, and the linked to add-on changes, it triggers a reload of the add-on now. This will make it much more pleasant to develop add-ons and have them affective immediately. I tested with a fresh image, but there are no immediate regressions I am aware of. I could imagine that messing with certain add-ons can have a bad effect now, like removing the keyboard input_server add-on may trigger the keyboard to stop working immediately without an input_server restart, but Tracker should warn before it happens. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38280 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
build | ||
compatibility | ||
config | ||
cpp | ||
glibc | ||
libs | ||
os | ||
posix | ||
private | ||
tools |