vcpkg/ports/ace/process_manager.patch
Johnny Willemsen 9c04c2ec59
[ace] Add patch to fix Visual Studio 2019 16.5 internal compiler error (#11369)
* [ace] Update to 6.5.8

* Address review comments

    * ports/ace/portfile.cmake:

* Put back copy step

    * ports/ace/portfile.cmake:

* Fixed error

    * ports/ace/portfile.cmake:

* ARM should work, let us try it

    * ports/ace/portfile.cmake:

* ARM doesn't work yet, so disable it again
    * ports/ace/portfile.cmake:

* Add support for vcpkg of ace on MacOSX

    * ports/ace/portfile.cmake:

* [ace] Add patch to fix Visual Studio 2019 internal compiler error

    * ports/ace/process_manager.patch:
      Added.

    * ports/ace/CONTROL:
    * ports/ace/portfile.cmake:

* Attempt to fix apply patches

    * ports/ace/portfile.cmake:

* [ace] Updated baseline for ace, 4 configurations work again with the applied patch

    * scripts/ci.baseline.txt:

* Address review comments

    * ports/ace/portfile.cmake:

* Revised patch for ACE

    * ports/ace/process_manager.patch:

* Update ports/ace/portfile.cmake

add comment about why the patch is needed

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-05-26 22:26:41 -07:00

58 lines
2.4 KiB
Diff

diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index ee0418b8fca..da9d9741e28 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -26,6 +26,9 @@ ACE_Process_Manager_cleanup (void *instance, void *arg)
{
ACE_Process_Manager::cleanup (instance, arg);
}
+#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager_cleanup
+#else
+#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager::cleanup
#endif
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -124,19 +127,10 @@ ACE_Process_Manager::instance (void)
// Register with the Object_Manager so that the wrapper to
// delete the proactor will be called when Object_Manager is
// being terminated.
-
-#if defined ACE_HAS_SIG_C_FUNC
- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager_cleanup,
- 0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager::cleanup,
+ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION,
0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#endif /* ACE_HAS_SIG_C_FUNC */
-
+ typeid (ACE_Process_Manager).name ());
}
}
@@ -157,18 +151,10 @@ ACE_Process_Manager::instance (ACE_Process_Manager *tm)
// Register with the Object_Manager so that the wrapper to
// delete the proactor will be called when Object_Manager is
// being terminated.
-
-#if defined ACE_HAS_SIG_C_FUNC
- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager_cleanup,
- 0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager::cleanup,
+ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION,
0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#endif /* ACE_HAS_SIG_C_FUNC */
+ typeid (*t).name ());
ACE_Process_Manager::instance_ = tm;
return t;