Go to file
Thiago Macieira 9931fa9df4 Fix forkfd on OS X 10.7 and earlier
dtruss logs show that the signal handler does enter and is active, since
it does the first waitid() call, but then returns immediately:

 waitid(0x0, 0x0, 0x7FFF62D7C468)               = 0 0
 sigreturn(0x7FFF62D7C9A0, 0x1E, 0x0)           = 0 Err#-2

Since there was no error return, we conclude that si_pid was zero on
return. Source code for OS X 10.7 confirms that si_pid is set to zero
unconditionally, which is rather stupid:
 http://fxr.watson.org/fxr/source/bsd/kern/kern_exit.c?v=xnu-1699.24.8#L1330

This is fixed for OS X 10.8:
 http://fxr.watson.org/fxr/source/bsd/kern/kern_exit.c?v=xnu-2050.18.24#L1399

Without that information, we have to scan each child anyway, so
just disable the waitid() solution on OS X. This is a "hammer" solution
which will get forkfd working. We can later try and detect at runtime
whether waitid() is working.

Change-Id: Ic5d393bfd36e48a193fcffff13bb584927cdeafe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-23 19:13:07 +01:00
bin Use the new warning enabling/disabling macros in qtbase 2014-12-03 18:09:17 +01:00
config.tests Add a configure-time check for an IPC support 2015-01-09 10:58:42 +01:00
dist Merge remote-tracking branch 'origin/5.4.0' into 5.4 2014-12-05 11:53:33 +01:00
doc Merge remote-tracking branch 'origin/5.4' into dev 2015-01-21 11:10:14 +01:00
examples D-Bus tray icon: ensure that the image is square before sending 2015-01-23 05:34:11 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev 2015-01-21 11:14:34 +01:00
qmake Merge remote-tracking branch 'origin/5.4' into dev 2015-01-21 11:10:14 +01:00
src Fix forkfd on OS X 10.7 and earlier 2015-01-23 19:13:07 +01:00
tests Use waitid with WNOWAIT in forkfd 2015-01-23 19:12:53 +01:00
tools Merge remote-tracking branch 'origin/5.4' into dev 2015-01-21 11:10:14 +01:00
util QUnicodeTables: mark all functions as nothrow 2015-01-10 08:42:55 +01:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove qtdemo from gitignore 2014-09-17 12:38:55 +02:00
.qmake.conf Enable -Werror for all of qtbase 2013-09-04 01:50:10 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Merge remote-tracking branch 'origin/5.4' into dev 2015-01-21 11:10:14 +01:00
configure.bat Update license headers and add new license files 2014-09-24 12:26:19 +02:00
header.BSD Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.FDL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL3 Android: Don't include Apache code under LGPLv2 license 2014-10-02 05:59:17 +02:00
header.LGPL21 Added header.LGPL21 2014-08-23 07:17:35 +02:00
header.LGPL-ONLY Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
INSTALL Doc: Update links in INSTALL file 2014-01-16 20:37:25 +01:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPLv3 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
LICENSE.LGPLv21 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
qtbase.pro remove nonsensical claim about contains() 2014-11-13 14:33:16 +01:00
sync.profile ANGLE: upgrade to 2.1~07d49ef5350a 2014-08-05 16:43:22 +02:00