mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-07 01:35:25 +08:00
qt 6.5.1 original
This commit is contained in:
@ -0,0 +1,12 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## testProcessCrash Binary:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_executable(testProcessCrash
|
||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
|
||||
SOURCES
|
||||
main.cpp
|
||||
)
|
50
tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp
Normal file
50
tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp
Normal file
@ -0,0 +1,50 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// Copyright (C) 2020 Intel Corporation.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#if __has_include(<sys/resource.h>)
|
||||
# include <sys/resource.h>
|
||||
# if defined(RLIMIT_CORE)
|
||||
static bool disableCoreDumps()
|
||||
{
|
||||
// Unix: set our core dump limit to zero to request no dialogs.
|
||||
if (struct rlimit rlim; getrlimit(RLIMIT_CORE, &rlim) == 0) {
|
||||
rlim.rlim_cur = 0;
|
||||
setrlimit(RLIMIT_CORE, &rlim);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
static bool disabledCoreDumps = disableCoreDumps();
|
||||
# endif // RLIMIT_CORE
|
||||
#endif // <sys/resource.h>
|
||||
|
||||
void crashFallback(volatile int *ptr = nullptr)
|
||||
{
|
||||
*ptr = 0;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# include <intrin.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
# if defined(_M_IX86) || defined(_M_X64)
|
||||
__ud2();
|
||||
# endif
|
||||
|
||||
crashFallback();
|
||||
}
|
||||
#elif defined(__MINGW32__)
|
||||
int main()
|
||||
{
|
||||
asm("ud2");
|
||||
crashFallback();
|
||||
}
|
||||
#else
|
||||
# include <stdlib.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
abort();
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user