Use "Ex"-versions of WaitForSingle/MultipleObject(s) where possible
Not only should using the "Ex"-versions be the rule and not the exception on Windows, but it's only the only way to share as much code as possible between Desktop Windows and WinRT (which is pushed by Microsoft a lot). The current rule of Desktop and WinCE vs WinRT does not make a lot of sense any longer, as WinCE is getting less and less important. By moving these #ifdefs in favor of WinRT, WinCe code might be removed easier in the future. Change-Id: I0ef94fb14fbf8add9c2dfa2a3fb8036d25fb697d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
d3ad8cff17
commit
1de6fd49d1
@ -652,7 +652,7 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
|
||||
if (!pid)
|
||||
return false;
|
||||
if (WaitForSingleObject(pid->hProcess, 0) == WAIT_OBJECT_0) {
|
||||
if (WaitForSingleObjectEx(pid->hProcess, 0, false) == WAIT_OBJECT_0) {
|
||||
bool readyReadEmitted = drainOutputPipes();
|
||||
_q_processDied();
|
||||
return readyReadEmitted;
|
||||
@ -721,7 +721,7 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
|
||||
|
||||
// Wait for the process to signal any change in its state,
|
||||
// such as incoming data, or if the process died.
|
||||
if (WaitForSingleObject(pid->hProcess, 0) == WAIT_OBJECT_0) {
|
||||
if (WaitForSingleObjectEx(pid->hProcess, 0, false) == WAIT_OBJECT_0) {
|
||||
_q_processDied();
|
||||
return false;
|
||||
}
|
||||
|
@ -1075,11 +1075,10 @@ void QEventDispatcherWin32::activateEventNotifiers()
|
||||
for (int i=0; i<d->winEventNotifierList.count(); i++) {
|
||||
#if !defined(Q_OS_WINCE)
|
||||
if (WaitForSingleObjectEx(d->winEventNotifierList.at(i)->handle(), 0, TRUE) == WAIT_OBJECT_0)
|
||||
d->activateEventNotifier(d->winEventNotifierList.at(i));
|
||||
#else
|
||||
if (WaitForSingleObject(d->winEventNotifierList.at(i)->handle(), 0) == WAIT_OBJECT_0)
|
||||
d->activateEventNotifier(d->winEventNotifierList.at(i));
|
||||
#endif
|
||||
d->activateEventNotifier(d->winEventNotifierList.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,7 @@ bool QSystemSemaphorePrivate::modifySemaphore(int count)
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
#if defined(Q_OS_WINRT)
|
||||
#if !defined(Q_OS_WINCE)
|
||||
if (WAIT_OBJECT_0 != WaitForSingleObjectEx(semaphore, INFINITE, FALSE)) {
|
||||
#else
|
||||
if (WAIT_OBJECT_0 != WaitForSingleObject(semaphore, INFINITE)) {
|
||||
|
@ -55,10 +55,10 @@ QMutexPrivate::~QMutexPrivate()
|
||||
|
||||
bool QMutexPrivate::wait(int timeout)
|
||||
{
|
||||
#ifndef Q_OS_WINRT
|
||||
return (WaitForSingleObject(event, timeout < 0 ? INFINITE : timeout) == WAIT_OBJECT_0);
|
||||
#else
|
||||
#ifndef Q_OS_WINCE
|
||||
return (WaitForSingleObjectEx(event, timeout < 0 ? INFINITE : timeout, FALSE) == WAIT_OBJECT_0);
|
||||
#else
|
||||
return (WaitForSingleObject(event, timeout < 0 ? INFINITE : timeout) == WAIT_OBJECT_0);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -109,10 +109,10 @@ bool QWaitConditionPrivate::wait(QWaitConditionEvent *wce, unsigned long time)
|
||||
{
|
||||
// wait for the event
|
||||
bool ret = false;
|
||||
#ifndef Q_OS_WINRT
|
||||
switch (WaitForSingleObject(wce->event, time)) {
|
||||
#else
|
||||
#ifndef Q_OS_WINCE
|
||||
switch (WaitForSingleObjectEx(wce->event, time, FALSE)) {
|
||||
#else
|
||||
switch (WaitForSingleObject(wce->event, time)) {
|
||||
#endif
|
||||
|
||||
default: break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user