• Allison Karlitskaya's avatar
    GDesktopAppInfo: avoid inotify on missing dirs · 3b8bc8ba
    Allison Karlitskaya authored
    Some desktop file directories, like /usr/local/share/applications may be
    missing on some systems.
    
    When we try to inotify on these directories, this will result in a
    every-4-seconds poll being setup which is quite bad.
    
    This is an issue that should be fixed in inotify itself but the problem
    is much larger there.  For now, we can work around it in GDesktopAppInfo
    by refusing to monitor missing directories.
    
    We may get some spurious notifications of changes in the case that
    /usr/local/share or /usr/local/share/applications is created without
    actually adding desktop files, but spurious changes can already be
    reported in other cases, so that's OK.  We won't get (user-visible)
    notification for a simple case of a completely unrelated file being
    created (however we cannot avoid the wakeup in this case due to how
    inotify works).  That's probably pretty theoretical, though, since files
    in /usr don't change much and for the home directory we're likely to
    have at least ~/.config and ~/.local existing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=736350
    3b8bc8ba
Name
Last commit
Last update
..
completion Loading commit data...
fam Loading commit data...
fen Loading commit data...
gdbus-2.0/codegen Loading commit data...
gvdb Loading commit data...
inotify Loading commit data...
kqueue Loading commit data...
tests Loading commit data...
win32 Loading commit data...
xdgmime Loading commit data...
.gitignore Loading commit data...
ChangeLog Loading commit data...
Makefile.am Loading commit data...
data-to-c.pl Loading commit data...
dbus-daemon.xml Loading commit data...
gaction.c Loading commit data...
gaction.h Loading commit data...
gactiongroup.c Loading commit data...
gactiongroup.h Loading commit data...
gactiongroupexporter.c Loading commit data...
gactiongroupexporter.h Loading commit data...
gactionmap.c Loading commit data...
gactionmap.h Loading commit data...
gappinfo.c Loading commit data...
gappinfo.h Loading commit data...
gappinfoprivate.h Loading commit data...
gapplication-tool.c Loading commit data...
gapplication.c Loading commit data...
gapplication.h Loading commit data...
gapplicationcommandline.c Loading commit data...
gapplicationcommandline.h Loading commit data...
gapplicationimpl-dbus.c Loading commit data...
gapplicationimpl.h Loading commit data...
gasynchelper.c Loading commit data...
gasynchelper.h Loading commit data...
gasyncinitable.c Loading commit data...
gasyncinitable.h Loading commit data...
gasyncresult.c Loading commit data...
gasyncresult.h Loading commit data...
gbufferedinputstream.c Loading commit data...
gbufferedinputstream.h Loading commit data...
gbufferedoutputstream.c Loading commit data...
gbufferedoutputstream.h Loading commit data...
gbytesicon.c Loading commit data...
gbytesicon.h Loading commit data...
gcancellable.c Loading commit data...
gcancellable.h Loading commit data...
gcharsetconverter.c Loading commit data...
gcharsetconverter.h Loading commit data...
gcontenttype-win32.c Loading commit data...
gcontenttype.c Loading commit data...
gcontenttype.h Loading commit data...
gcontenttypeprivate.h Loading commit data...
gconverter.c Loading commit data...
gconverter.h Loading commit data...
gconverterinputstream.c Loading commit data...
gconverterinputstream.h Loading commit data...
gconverteroutputstream.c Loading commit data...
gconverteroutputstream.h Loading commit data...
gcredentials.c Loading commit data...
gcredentials.h Loading commit data...
gcredentialsprivate.h Loading commit data...
gdatainputstream.c Loading commit data...
gdatainputstream.h Loading commit data...
gdataoutputstream.c Loading commit data...
gdataoutputstream.h Loading commit data...
gdbus-tool.c Loading commit data...
gdbusactiongroup-private.h Loading commit data...
gdbusactiongroup.c Loading commit data...
gdbusactiongroup.h Loading commit data...
gdbusaddress.c Loading commit data...
gdbusaddress.h Loading commit data...
gdbusauth.c Loading commit data...
gdbusauth.h Loading commit data...
gdbusauthmechanism.c Loading commit data...
gdbusauthmechanism.h Loading commit data...
gdbusauthmechanismanon.c Loading commit data...
gdbusauthmechanismanon.h Loading commit data...
gdbusauthmechanismexternal.c Loading commit data...
gdbusauthmechanismexternal.h Loading commit data...
gdbusauthmechanismsha1.c Loading commit data...
gdbusauthmechanismsha1.h Loading commit data...
gdbusauthobserver.c Loading commit data...
gdbusauthobserver.h Loading commit data...
gdbusconnection.c Loading commit data...
gdbusconnection.h Loading commit data...
gdbusdaemon.c Loading commit data...
gdbusdaemon.h Loading commit data...
gdbuserror.c Loading commit data...
gdbuserror.h Loading commit data...
gdbusinterface.c Loading commit data...
gdbusinterface.h Loading commit data...
gdbusinterfaceskeleton.c Loading commit data...
gdbusinterfaceskeleton.h Loading commit data...
gdbusintrospection.c Loading commit data...
gdbusintrospection.h Loading commit data...
gdbusmenumodel.c Loading commit data...
gdbusmenumodel.h Loading commit data...
gdbusmessage.c Loading commit data...
gdbusmessage.h Loading commit data...
gdbusmethodinvocation.c Loading commit data...
gdbusmethodinvocation.h Loading commit data...
gdbusnameowning.c Loading commit data...
gdbusnameowning.h Loading commit data...
gdbusnamewatching.c Loading commit data...
gdbusnamewatching.h Loading commit data...
gdbusobject.c Loading commit data...
gdbusobject.h Loading commit data...
gdbusobjectmanager.c Loading commit data...
gdbusobjectmanager.h Loading commit data...
gdbusobjectmanagerclient.c Loading commit data...
gdbusobjectmanagerclient.h Loading commit data...
gdbusobjectmanagerserver.c Loading commit data...
gdbusobjectmanagerserver.h Loading commit data...
gdbusobjectproxy.c Loading commit data...
gdbusobjectproxy.h Loading commit data...
gdbusobjectskeleton.c Loading commit data...
gdbusobjectskeleton.h Loading commit data...
gdbusprivate.c Loading commit data...
gdbusprivate.h Loading commit data...
gdbusproxy.c Loading commit data...
gdbusproxy.h Loading commit data...
gdbusserver.c Loading commit data...
gdbusserver.h Loading commit data...
gdbusutils.c Loading commit data...
gdbusutils.h Loading commit data...
gdelayedsettingsbackend.c Loading commit data...
gdelayedsettingsbackend.h Loading commit data...
gdesktopappinfo.c Loading commit data...
gdesktopappinfo.h Loading commit data...
gdrive.c Loading commit data...
gdrive.h Loading commit data...
gdummyfile.c Loading commit data...
gdummyfile.h Loading commit data...
gdummyproxyresolver.c Loading commit data...
gdummyproxyresolver.h Loading commit data...
gdummytlsbackend.c Loading commit data...
gdummytlsbackend.h Loading commit data...
gemblem.c Loading commit data...
gemblem.h Loading commit data...
gemblemedicon.c Loading commit data...
gemblemedicon.h Loading commit data...
gfdonotificationbackend.c Loading commit data...
gfile.c Loading commit data...
gfile.h Loading commit data...
gfileattribute-priv.h Loading commit data...
gfileattribute.c Loading commit data...
gfileattribute.h Loading commit data...
gfiledescriptorbased.c Loading commit data...
gfiledescriptorbased.h Loading commit data...
gfileenumerator.c Loading commit data...
gfileenumerator.h Loading commit data...
gfileicon.c Loading commit data...
gfileicon.h Loading commit data...
gfileinfo-priv.h Loading commit data...
gfileinfo.c Loading commit data...
gfileinfo.h Loading commit data...
gfileinputstream.c Loading commit data...
gfileinputstream.h Loading commit data...
gfileiostream.c Loading commit data...
gfileiostream.h Loading commit data...
gfilemonitor.c Loading commit data...
gfilemonitor.h Loading commit data...
gfilenamecompleter.c Loading commit data...
gfilenamecompleter.h Loading commit data...
gfileoutputstream.c Loading commit data...
gfileoutputstream.h Loading commit data...
gfilterinputstream.c Loading commit data...
gfilterinputstream.h Loading commit data...
gfilteroutputstream.c Loading commit data...
gfilteroutputstream.h Loading commit data...
ggtknotificationbackend.c Loading commit data...
gicon.c Loading commit data...
gicon.h Loading commit data...
ginetaddress.c Loading commit data...
ginetaddress.h Loading commit data...
ginetaddressmask.c Loading commit data...
ginetaddressmask.h Loading commit data...
ginetsocketaddress.c Loading commit data...
ginetsocketaddress.h Loading commit data...
ginitable.c Loading commit data...
ginitable.h Loading commit data...
ginputstream.c Loading commit data...
ginputstream.h Loading commit data...
gio-querymodules.c Loading commit data...
gio.h Loading commit data...
gio.rc.in Loading commit data...
gioenums.h Loading commit data...
gioenumtypes.c.template Loading commit data...
gioenumtypes.h.template Loading commit data...
gioerror.c Loading commit data...
gioerror.h Loading commit data...
giomodule-priv.h Loading commit data...
giomodule.c Loading commit data...
giomodule.h Loading commit data...
gioprivate.h Loading commit data...
gioscheduler.c Loading commit data...
gioscheduler.h Loading commit data...
giostream.c Loading commit data...
giostream.h Loading commit data...
giotypes.h Loading commit data...
giowin32-priv.h Loading commit data...
gkeyfilesettingsbackend.c Loading commit data...
glib-compile-resources.c Loading commit data...
glib-compile-schemas.c Loading commit data...
gloadableicon.c Loading commit data...
gloadableicon.h Loading commit data...
glocaldirectorymonitor.c Loading commit data...
glocaldirectorymonitor.h Loading commit data...
glocalfile.c Loading commit data...
glocalfile.h Loading commit data...
glocalfileenumerator.c Loading commit data...
glocalfileenumerator.h Loading commit data...
glocalfileinfo.c Loading commit data...
glocalfileinfo.h Loading commit data...
glocalfileinputstream.c Loading commit data...
glocalfileinputstream.h Loading commit data...
glocalfileiostream.c Loading commit data...
glocalfileiostream.h Loading commit data...
glocalfilemonitor.c Loading commit data...
glocalfilemonitor.h Loading commit data...
glocalfileoutputstream.c Loading commit data...
glocalfileoutputstream.h Loading commit data...
glocalvfs.c Loading commit data...
glocalvfs.h Loading commit data...
gmemoryinputstream.c Loading commit data...
gmemoryinputstream.h Loading commit data...
gmemoryoutputstream.c Loading commit data...
gmemoryoutputstream.h Loading commit data...
gmemorysettingsbackend.c Loading commit data...
gmenu.c Loading commit data...
gmenu.h Loading commit data...
gmenuexporter.c Loading commit data...
gmenuexporter.h Loading commit data...
gmenumodel.c Loading commit data...
gmenumodel.h Loading commit data...
gmount.c Loading commit data...
gmount.h Loading commit data...
gmountoperation.c Loading commit data...
gmountoperation.h Loading commit data...
gmountprivate.h Loading commit data...
gnativevolumemonitor.c Loading commit data...
gnativevolumemonitor.h Loading commit data...
gnetworkaddress.c Loading commit data...
gnetworkaddress.h Loading commit data...
gnetworking.c Loading commit data...
gnetworking.h.in Loading commit data...
gnetworking.h.win32 Loading commit data...
gnetworkingprivate.h Loading commit data...
gnetworkmonitor.c Loading commit data...
gnetworkmonitor.h Loading commit data...
gnetworkmonitorbase.c Loading commit data...
gnetworkmonitorbase.h Loading commit data...
gnetworkmonitornetlink.c Loading commit data...
gnetworkmonitornetlink.h Loading commit data...
gnetworkservice.c Loading commit data...
gnetworkservice.h Loading commit data...
gnextstepsettingsbackend.c Loading commit data...
gnotification-private.h Loading commit data...
gnotification.c Loading commit data...
gnotification.h Loading commit data...
gnotificationbackend.c Loading commit data...
gnotificationbackend.h Loading commit data...
gnullsettingsbackend.c Loading commit data...
goutputstream.c Loading commit data...
goutputstream.h Loading commit data...
gpermission.c Loading commit data...
gpermission.h Loading commit data...
gpollableinputstream.c Loading commit data...
gpollableinputstream.h Loading commit data...
gpollableoutputstream.c Loading commit data...
gpollableoutputstream.h Loading commit data...
gpollableutils.c Loading commit data...
gpollableutils.h Loading commit data...
gpollfilemonitor.c Loading commit data...
gpollfilemonitor.h Loading commit data...
gpropertyaction.c Loading commit data...
gpropertyaction.h Loading commit data...
gproxy.c Loading commit data...
gproxy.h Loading commit data...
gproxyaddress.c Loading commit data...
gproxyaddress.h Loading commit data...
gproxyaddressenumerator.c Loading commit data...
gproxyaddressenumerator.h Loading commit data...
gproxyresolver.c Loading commit data...
gproxyresolver.h Loading commit data...
gregistrysettingsbackend.c Loading commit data...
gregistrysettingsbackend.h Loading commit data...
gremoteactiongroup.c Loading commit data...
gremoteactiongroup.h Loading commit data...
gresolver.c Loading commit data...
gresolver.h Loading commit data...
gresource-tool.c Loading commit data...
gresource.c Loading commit data...
gresource.h Loading commit data...
gresourcefile.c Loading commit data...
gresourcefile.h Loading commit data...
gschema.dtd Loading commit data...
gseekable.c Loading commit data...
gseekable.h Loading commit data...
gsettings-mapping.c Loading commit data...
gsettings-mapping.h Loading commit data...
gsettings-tool.c Loading commit data...
gsettings.c Loading commit data...
gsettings.h Loading commit data...
gsettingsbackend.c Loading commit data...
gsettingsbackend.h Loading commit data...
gsettingsbackendinternal.h Loading commit data...
gsettingsschema-internal.h Loading commit data...
gsettingsschema.c Loading commit data...
gsettingsschema.h Loading commit data...
gsimpleaction.c Loading commit data...
gsimpleaction.h Loading commit data...
gsimpleactiongroup.c Loading commit data...
gsimpleactiongroup.h Loading commit data...
gsimpleasyncresult.c Loading commit data...
gsimpleasyncresult.h Loading commit data...
gsimplepermission.c Loading commit data...
gsimplepermission.h Loading commit data...
gsimpleproxyresolver.c Loading commit data...
gsimpleproxyresolver.h Loading commit data...
gsocket.c Loading commit data...
gsocket.h Loading commit data...
gsocketaddress.c Loading commit data...
gsocketaddress.h Loading commit data...
gsocketaddressenumerator.c Loading commit data...
gsocketaddressenumerator.h Loading commit data...
gsocketclient.c Loading commit data...
gsocketclient.h Loading commit data...
gsocketconnectable.c Loading commit data...
gsocketconnectable.h Loading commit data...
gsocketconnection.c Loading commit data...
gsocketconnection.h Loading commit data...
gsocketcontrolmessage.c Loading commit data...
gsocketcontrolmessage.h Loading commit data...
gsocketinputstream.c Loading commit data...
gsocketinputstream.h Loading commit data...
gsocketlistener.c Loading commit data...
gsocketlistener.h Loading commit data...
gsocketoutputstream.c Loading commit data...
gsocketoutputstream.h Loading commit data...
gsocketservice.c Loading commit data...
gsocketservice.h Loading commit data...
gsocks4aproxy.c Loading commit data...
gsocks4aproxy.h Loading commit data...
gsocks4proxy.c Loading commit data...
gsocks4proxy.h Loading commit data...
gsocks5proxy.c Loading commit data...
gsocks5proxy.h Loading commit data...
gsrvtarget.c Loading commit data...
gsrvtarget.h Loading commit data...
gsubprocess.c Loading commit data...
gsubprocess.h Loading commit data...
gsubprocesslauncher-private.h Loading commit data...
gsubprocesslauncher.c Loading commit data...
gsubprocesslauncher.h Loading commit data...
gtask.c Loading commit data...
gtask.h Loading commit data...
gtcpconnection.c Loading commit data...
gtcpconnection.h Loading commit data...
gtcpwrapperconnection.c Loading commit data...
gtcpwrapperconnection.h Loading commit data...
gtestdbus.c Loading commit data...
gtestdbus.h Loading commit data...
gthemedicon.c Loading commit data...
gthemedicon.h Loading commit data...
gthreadedresolver.c Loading commit data...
gthreadedresolver.h Loading commit data...
gthreadedsocketservice.c Loading commit data...
gthreadedsocketservice.h Loading commit data...
gtlsbackend.c Loading commit data...
gtlsbackend.h Loading commit data...
gtlscertificate.c Loading commit data...
gtlscertificate.h Loading commit data...
gtlsclientconnection.c Loading commit data...
gtlsclientconnection.h Loading commit data...
gtlsconnection.c Loading commit data...
gtlsconnection.h Loading commit data...
gtlsdatabase.c Loading commit data...
gtlsdatabase.h Loading commit data...
gtlsfiledatabase.c Loading commit data...
gtlsfiledatabase.h Loading commit data...
gtlsinteraction.c Loading commit data...
gtlsinteraction.h Loading commit data...
gtlspassword.c Loading commit data...
gtlspassword.h Loading commit data...
gtlsserverconnection.c Loading commit data...
gtlsserverconnection.h Loading commit data...
gunionvolumemonitor.c Loading commit data...
gunionvolumemonitor.h Loading commit data...
gunixconnection.c Loading commit data...
gunixconnection.h Loading commit data...
gunixcredentialsmessage.c Loading commit data...
gunixcredentialsmessage.h Loading commit data...
gunixfdlist.c Loading commit data...
gunixfdlist.h Loading commit data...
gunixfdmessage.c Loading commit data...
gunixfdmessage.h Loading commit data...
gunixinputstream.c Loading commit data...
gunixinputstream.h Loading commit data...
gunixmount.c Loading commit data...
gunixmount.h Loading commit data...
gunixmounts.c Loading commit data...
gunixmounts.h Loading commit data...
gunixoutputstream.c Loading commit data...
gunixoutputstream.h Loading commit data...
gunixsocketaddress.c Loading commit data...
gunixsocketaddress.h Loading commit data...
gunixvolume.c Loading commit data...
gunixvolume.h Loading commit data...
gunixvolumemonitor.c Loading commit data...
gunixvolumemonitor.h Loading commit data...
gvfs.c Loading commit data...
gvfs.h Loading commit data...
gvolume.c Loading commit data...
gvolume.h Loading commit data...
gvolumemonitor.c Loading commit data...
gvolumemonitor.h Loading commit data...
gwin32appinfo.c Loading commit data...
gwin32appinfo.h Loading commit data...
gwin32inputstream.c Loading commit data...
gwin32inputstream.h Loading commit data...
gwin32mount.c Loading commit data...
gwin32mount.h Loading commit data...
gwin32outputstream.c Loading commit data...
gwin32outputstream.h Loading commit data...
gwin32volumemonitor.c Loading commit data...
gwin32volumemonitor.h Loading commit data...
gzlibcompressor.c Loading commit data...
gzlibcompressor.h Loading commit data...
gzlibdecompressor.c Loading commit data...
gzlibdecompressor.h Loading commit data...
makefile.msc Loading commit data...
strinfo.c Loading commit data...
thumbnail-verify.c Loading commit data...
thumbnail-verify.h Loading commit data...