diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-26 16:02:05 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-28 21:53:21 +0000 |
commit | ffe8884ac3a3b494786055aa51fd48e3d6edac16 (patch) | |
tree | c5d4169984ccff65e0a39de5e84d2f8c32d71104 /tests/manual/qtabbar | |
parent | 5d31b52a1235a745cc3d5fc4c85a04ae981b043e (diff) |
QProcess/Unix: move strerror() up from child to parent
In theory, there's nothing wrong with having it in the child process. In
practice, we've found that strerror/malloc can hang: if an application-
wide lock was held by another thread before fork(), the child process
could wait forever for an unlocking that will not happen (no threads
running). See https://sourceware.org/bugzilla/show_bug.cgi?id=19431
As an added bonus, we now use qt_error_string(), which may produce
slightly different text from strerror.
[ChangeLog][QtCore][QProcess] Added a workaround for a rare race-
condition bug in some C libraries that caused the child process started
by QProcess to hang after trying to launch a non-existent executable or
change to a non-existent directory.
Task-number: QTBUG-61634
Change-Id: I1eba2b016de74620bfc8fffd14cbce4b9f9af69b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'tests/manual/qtabbar')
0 files changed, 0 insertions, 0 deletions