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 # gross hack
relink: all relink: all
$(AM_V_at)$(MAKE) -C hw relink $(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++) { for (s = 0; s < screenInfo.numScreens; s++) {
ScreenPtr pScreen = screenInfo.screens[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); grow_private_set(&pScreen->screenSpecificPrivates[type], bytes);
} }
} }

View File

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

View File

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

View File

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

View File

@ -1242,6 +1242,19 @@ OsReleaseSignals(void)
#endif #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 * Pending signals may interfere with core dumping. Provide a
* mechanism to block signals when aborting. * mechanism to block signals when aborting.