Use inotify to check for changes to the defaults database. Workaround for
authorRodney Padgett <rod_padgett@hotmail.com>
Sat, 9 Aug 2008 10:39:24 +0000 (11:39 +0100)
committerCarlos R. Mafra <crmafra@gmail.com>
Sat, 9 Aug 2008 18:14:39 +0000 (13:14 -0500)
commit56d856878743ec2d3b8d98ab6a0b61a6b2c99129
tree6e8dae699ba5d1b66095b35250cdc75f21170418
parentc91bb1ba1360006c568db37438779e525868cf17
Use inotify to check for changes to the defaults database. Workaround for

event handler timer.

After upgrading my kernel recently I noticed that dnotify has been
depreciated, so I decided to try and implement the new inotify code in
Window Maker instead.

During testing, I also found that one of the timers which was removed
(the one causing the most wake-ups), calling delayedAction, was
responsible for handling signals. Basically with this timer removed,
signals were only handled after an X event occurs.

After looking at the delayedAction function, I couldn't see the purpose of it.
It certainly wouldn't cause any delay as it was called by the timer every
500ms, so there is no time correlation with when a signal was received.
Also, it appeared to count the signals and call DispatchEvent for each
one, but it appears DispatchEvent would just handle the most recent signal
and take action on that. The signals handled by delayedAction are the
various exit and reset signals, so only one need to be handled. I
therefore have commented out delayedAction (it wasn't called by any other
procedure) and added a call to DispatchEvent imediately after the signal
is registered, in handleExitSig.

I'm not sure what problems this may cause with dead children - these are
only cleaned up after an Xevent now that the timer is removed- but I
haven't observed any problems since a few months ago.
INSTALL
src/event.c
src/main.c
src/shutdown.c
src/startup.c