summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xenodm/dm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/xenodm/dm.c b/xenodm/dm.c
index 8700592..77920b5 100644
--- a/xenodm/dm.c
+++ b/xenodm/dm.c
@@ -57,7 +57,7 @@ static void ScanServers (void);
static void SetConfigFileTime (void);
static void StartDisplays (void);
-volatile int Rescan;
+static volatile int Rescan = 0;
static long ServersModTime, ConfigModTime;
int nofork_session = 0;
@@ -279,7 +279,7 @@ StopAll (int n)
* sub-daemon started
*/
-int ChildReady;
+static volatile int ChildReady = 0;
/* ARGSUSED */
static void
@@ -287,7 +287,7 @@ ChildNotify (int n)
{
int olderrno = errno;
- ChildReady = 1;
+ ChildReady++;
errno = olderrno;
}
@@ -306,12 +306,12 @@ WaitForChild (void)
Debug ("signals blocked\n");
if (!ChildReady && !Rescan)
sigsuspend(&omask);
- ChildReady = 0;
sigprocmask(SIG_SETMASK, &omask, (sigset_t *)NULL);
while ((pid = waitpid (-1, &status, WNOHANG)) > 0)
{
Debug ("Manager wait returns pid: %d sig %d core %d code %d\n",
pid, waitSig(status), waitCore(status), waitCode(status));
+ ChildReady--;
if (autoRescan)
RescanIfMod ();
/* SUPPRESS 560 */