Merge branch 'local-fixes'

This commit is contained in:
Keith Packard 2012-07-10 00:52:11 -07:00
commit 6e12cb147d
6 changed files with 33 additions and 2 deletions

View File

@ -95,3 +95,10 @@ DIST_SUBDIRS = \
# gross hack
relink: all
$(AM_V_at)$(MAKE) -C hw relink
install-headers: Makefile
+find . -name Makefile | while read m; do \
if grep -q install-sdkHEADERS $$m; then \
(cd `dirname "$$m"` && make install-sdkHEADERS) \
fi \
done

View File

@ -315,6 +315,11 @@ grow_screen_specific_set(DevPrivateType type, unsigned bytes)
for (s = 0; s < screenInfo.numScreens; s++) {
ScreenPtr pScreen = screenInfo.screens[s];
grow_private_set(&pScreen->screenSpecificPrivates[type], bytes);
}
for (s = 0; s < screenInfo.numGPUScreens; s++) {
ScreenPtr pScreen = screenInfo.gpuscreens[s];
grow_private_set(&pScreen->screenSpecificPrivates[type], bytes);
}
}

View File

@ -401,6 +401,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
MessageType pix24From = X_DEFAULT;
Bool pix24Fail = FALSE;
Bool autoconfig = FALSE;
Bool sigio_blocked = FALSE;
GDevPtr configured_device;
xf86Initialising = TRUE;
@ -821,6 +822,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
#endif
xf86AccessEnter();
OsBlockSIGIO();
sigio_blocked = TRUE;
}
}
@ -926,7 +928,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
xf86VGAarbiterWrapFunctions();
OsReleaseSIGIO();
if (sigio_blocked)
OsReleaseSIGIO();
xf86InitOrigins();
@ -1011,7 +1014,6 @@ OsVendorInit(void)
}
#endif
#endif
OsReleaseSIGIO();
beenHere = TRUE;
}

View File

@ -340,6 +340,9 @@ OsBlockSIGIO(void);
extern _X_EXPORT void
OsReleaseSIGIO(void);
extern void
OsResetSignals(void);
extern _X_EXPORT void
OsAbort(void)
_X_NORETURN;

View File

@ -288,6 +288,7 @@ OsInit(void)
}
TimerInit();
OsVendorInit();
OsResetSignals();
/*
* No log file by default. OsVendorInit() should call LogInit() with the
* log file name if logging to a file is desired.

View File

@ -1242,6 +1242,19 @@ OsReleaseSignals(void)
#endif
}
void
OsResetSignals(void)
{
#ifdef SIG_BLOCK
while (BlockedSignalCount > 0)
OsReleaseSignals();
#ifdef SIGIO
while (sigio_blocked > 0)
OsReleaseSIGIO();
#endif
#endif
}
/*
* Pending signals may interfere with core dumping. Provide a
* mechanism to block signals when aborting.