-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter exceptions thrown by AutoDesired #27
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gtremper
added a commit
that referenced
this pull request
Aug 4, 2014
Filter exceptions thrown by AutoDesired
codemercenary
added a commit
that referenced
this pull request
Aug 27, 2014
33751f9 Merge pull request #84 from leapmotion/clarify-static-assert 67a668b Clarification of some static asserts 26e2a3a Merge pull request #83 from leapmotion/ref-autoconstruct ce334e3 Merge pull request #81 from leapmotion/feature-autorestart 119610b Adding an AutoRestarter c98db1b AutoConstruct should not inherit AutoRequired aad15dd Merge pull request #82 from leapmotion/feature-autoinit 674a600 AutoInit probably belongs in PostConstructTest 52fa78a Merge branch 'develop' into feature-autoinit 6b3187a Adding a test to validate that AutoInit can throw exceptions 1309a74 Implementing AutoInit 98a81c2 Merge pull request #80 from leapmotion/bug-reentrantinitiate a557150 Fixing a CoreContext::Initiate reentrant deadlock 6757f62 Adding unit test to demonstrate the behavior of AutoInit 050be6f Ignore list updated 4b55cba Merge pull request #78 from GabrielHare/bug-nested-notify 4706051 Avoid deadlock from nested NotifyWhenAutowried calls by postponing satisfied call until after exit of FindByTypeRecursiveUnsafe. e965fd3 Unit test demonstrates deadlock when nesting NotifyWhenAutowired. 0e3c0de Merge pull request #77 from GabrielHare/bug-context-notify-posthoc b0ac22b Avoid missing type satisfaction due to simultaneous injection in to a parent context: FindByTypeRecursiveUnsafe makes calls while holding ALL necessary locks. 530dd13 Thread-correct (see file comments added in previous commit) NotifyWhenAutowired and Autowire methods. 451f5c8 Implemented unsafe solution. 97f0e62 Adding unit test demonstrating failure of PostConstruction NotifyWhenAutowired for Context. 8d95603 Merge pull request #75 from leapmotion/bug-websocketpp-warnings 6d02bc6 Correcting warnings in websocketpp sources b5dcbc7 Merge pull request #66 from leapmotion/travis-disallowtabs 7e15578 Removed tabs ed8b0af Adding tab detection script to travis f2ec82e Merge pull request #74 from leapmotion/bug-nominmax 4d677d1 Merge pull request #73 from leapmotion/bug-embeddedcpack 0fbd709 Fix Windows warnings-as-errors introduced by ref-awmodule ff954a8 Do not touch CPack when embedded 2bb1328 Merge pull request #71 from leapmotion/ref-websocketpp-subtree 0820f2c Merge pull request #72 from leapmotion/bug-boostorder cf586d9 Boost components must be referred to in the right order 5299a93 websocketpp root path moved, corresponding update to ignore listr f5f734c Merge commit 'ba2f4227198c7480994cea07f54675b1c4531baa' into ref-websocketpp-subtree ba2f422 CMake configure_file should place config.cmake in the root 5ef4855 Recommend do not override CMAKE_INSTALL_PREFIX on MSVC 3765cff Merge commit 'b4ce2ab98d8388fd2f47e8699d12939d52654bd2' as 'contrib/websocketpp' b4ce2ab Squashed 'contrib/websocketpp/' content from commit 71a10d8 5cc8e78 Removing websocketpp in preparation for a subtree squash a813685 Merge pull request #69 from leapmotion/bug-assume-nullptr-avail 3ce705e Assume nullptr_t is available unless told otherwise 21c2c12 Merge pull request #65 from leapmotion/bug-libstdcpp-enum 957d203 Merge pull request #68 from leapmotion/ref-disableautonet 5eb7806 Merge pull request #67 from leapmotion/ref-cpp11initlist 9bd5af0 Extending C++11 header to allow detection of initializer lists and nullptr_t 9021cbe Remove unused variable warning 5945efe Completely disabling AutoNet when USE_LIBCXX is off a6f0c3a Correcting libstdc++ compiler error 959a4e7 Merge pull request #64 from leapmotion/ref-tabstospaces 2e17be8 Merge pull request #63 from leapmotion/ref-autonetimpl 5626e70 Corrections on recent accidental introductions of tabs f5ea416 Reducing Autowiring dependencies in order to clean up definitions 60680d6 Merge pull request #62 from leapmotion/bug-pthread 862df7a Merge pull request #61 from leapmotion/bug-errmsg 691731e Cleaning up boost find_package and linkage spec 72cccaf Adding more descriptive static assertions 039a83b Merge pull request #60 from leapmotion/bug-chattylibcxx 6e51a1e Merge pull request #59 from leapmotion/bug-includedirs a1cfddc Merge pull request #58 from leapmotion/bug-awisembedded 3493dad Autowiring should specify its include directory for use with embedded mode 66757cc Reduce LibCXX chattiness cb02634 Correcting defective check for AUTOWIRING_IS_EMBEDDED 17838ae Merge pull request #57 from leapmotion/ref-awmodule-cmake98 79eecd1 DecorationDisposition implements copy and assign only when building using c++98 e35c013 Offer options for LIB_USECXX only when not embedded in a project. 44c2772 Removing _4 definition. 68eb230 Merge pull request #56 from leapmotion/bug-mutexheader 81fbb41 Adding missing MUTEX_HEADER 7e0bd3c Merge pull request #55 from leapmotion/ref-stdlock 5289002 Updating atomic object to make use of a lock heirarchy scheme 3b20c77 Merge pull request #48 from leapmotion/ref-cleanup 852e9d4 We're iterating over arguments, so use arity 5821f32 Extra if 44db170 Merge remote-tracking branch 'origin/develop' into ref-cleanup 33bcd3a Merge pull request #54 from leapmotion/ref-no_unique_ptr ed3c7c9 Handle branching unlock conditions. 23e0d09 Correcting leak caused by a missing delete call c884f24 Clean-up AutoFilterTest.VerifyDescendentAwareness. 098c876 Strengthening creation & destruction tests for ObjectPool. 94fd45b Replacing use of unique_ptr<T> with T* in ObjectPool. e66baf9 Merge pull request #53 from leapmotion/ref-testcleanup 363a26b Eliminated some redundant calls to Initiate 435151a Merge pull request #52 from leapmotion/bug-arraycount 7c61be6 ARRAYCOUNT is not available in a header-only circumstance 5e1e98c Merge pull request #51 from leapmotion/bug-googletestorder 20a4dc4 AutowiringEnclosure MUST be header-only 663a7c3 Merge pull request #50 from leapmotion/bug-libstdcpp 7de26eb make_unique does not quite work correctly in Visual Studio 71e95dd Fixing gimpy Visual Studio handling of multi-block statements in range-based for loops 4a900cf Merge pull request #49 from leapmotion/bug-thisthread e55e253 Correcting overspecified paths that were causing compiler errors for libstdc++ 578f7b1 Thread instantiation must happen via placement operations 991790f Removed unnecessary intermediate variables in MicroBolt 7066f6f Adding const correctness where applicable bd55d63 Adding missing memory header reference to atomic_object 74122cc Changed uses of old looping style to range-based loops eba5b43 Merge pull request #47 from leapmotion/ref-linkcollide 0f09638 Fixing bad casing 55e2b23 Correct linker symbol collision problem. a7db674 Changed old shared_ptr construction to newer make_shared factory 76bdecc Merge pull request #46 from leapmotion/ref-buildautonet 8c05e34 Recommend that we build AutoNet by default unconditionally 8a38a58 Merge pull request #45 from leapmotion/ref-nowebsocketheaders 85406b9 Making use of PMPL with the AutoNetServer 656190f Fixing Windows autonet build 54452ac Correcting Boost package search on Windows 38581e2 If EXTERNAL_LIBRARY_DIR is set, we want to add it to our search path e6eec3c Merge pull request #44 from leapmotion/doc-atomicobject b4be119 Updating atomic_object documentation eccabf8 Merge pull request #43 from leapmotion/bug-msvcvarargs cf1f58e Adding a unit test to provide justification for prior changes 5ec617a Adding overload specialization for CreationRules::New 6508159 Fixing Windows build fd8c114 Merge pull request #42 from GabrielHare/feature-DeclareAutoFilter cd9369b Reduced inclusions by DeclareAutoFilter by expanding convenience functions. 5be1f0f Demonstrate use of DeclareAutoFilter function. 2ef9162 Adding DeclareAutoFilter convenience function. 2d32227 Using MicroAutoFilter to declare multiple methods as AutoFilter instances. 75694d7 Consistent include path in AutoFilterTest. a9594c9 Using move in Deferred case for MicroAutoFilter. b743a84 Correction to header file rewrite filter ac4307e Merge pull request #41 from leapmotion/ref-simpleobjects 4f8809c Making template types discoverable in AutoSelfUpdate. 4fd6d50 Adding useful typedefs to unlock_object. b35f4b8 Making implicit templates types discoverable. 4e57acf Removed shared_object, AutoSelfUpdate inherits from atomic_object. Tests updated accordingly. 6134d94 Merge pull request #38 from leapmotion/ref-functionaldecoration 99f614e Removing m_initialized from atomic_object and associated methods. 25009fd Merge branch 'develop' into ref-functionaldecoration 83d4d09 Merge pull request #37 from leapmotion/test-autoselfupdate 415c7b9 Cleaning up inclusion path specifications. b7fb1f1 Using MicroAutoFilter to implement Packet::AddRecipient. 803f21e Using move semantics in MicroAutoFilter. This is required in order to avoid copying auto_out instances. 157ccb1 Corrected invalid use-after-free d8e84a3 Merge pull request #36 from leapmotion/feature-autoconstruct ae2ea81 Builds are exhausting virtual memory, backing off the parallel build count a bit 8721e22 Merge pull request #35 from leapmotion/feature-doxygen e95ea69 Relaxing rules on CoreContext::Construct, adding unit test 9f482e0 Clarifying some comments 170301a Added Doxyfile for Doxygen support 49e3596 Merge pull request #34 from leapmotion/ref-header-organization 652cda6 Added MicroAutoFilter to wrap std::function. 8ce38bb Verify that AddRecipient call is valid where expected. 7b92a2c Adding compile-time test to verify that a function can be used as an auto-filter. 46b0670 Combined Auto:: and autowiring:: namespaces 45d3401 Adding stub to handle recipients for decorations of this packet only. 2db63c2 Adding unit tests for desired functionality when a packet is decorated with a function that can be used as an AutoFilter. 50025ad Consolidated TypeRegistry utterances from Autowiring.h to a single utterance in CoreContext.h a0dfafa Combined TypeIdentifier and EventIdentifer a8519a5 Combined 2 definitions of index_tuple and put it in its own header 1f5f622 Moved is_any_same from Decompose.h to is_any.h 230b121 Merge pull request #33 from leapmotion/ref-declarativeboltable 0f90253 Enabling test verifying requested functionality. bb3056d Enabled post-hoc injection via Boltable declaration. 04b3736 Merge pull request #32 from leapmotion/ref-demangle ec8721c Disable failing test for requested feature. 15192f1 Added failing unit test - requested feature would enable bootable if declared after the creation of a context. d695ea1 Adding passing unit test for Boltable, in which Boltable is declared before target context. 5501b5e Moving another performance test over to the dedicated benchmarking project c9a06ed Added demangle function to AutoNetServer d487ad7 SlotInformation should always store position and extent, even when already initialized dee3a78 Merge pull request #31 from leapmotion/test-priorityboost 8e4ced6 Merge pull request #30 from leapmotion/test-noheaders 99fc032 Making use of dedicated ASSERT_NO_THROW macro 165f475 Introduction of AutoSelfUpdate<type> in multiple sub-contexts yields an error... but should be allowed. adee250 Adding unit test for AutoSelfUpdate functionality. 16c36dd More unnecessary header elimination 4312c11 Moving another performance test over to the dedicated benchmarking project eeb315f Finished implementation of AutoSelfUpdate, which is used to provide prior data. 43879a2 Adding reset(target) and transfer(target) methods to atomic_object, and by extension to shared_object. 44f9d19 Renaming unlock_object methods for clarity. 737bab3 Clarifying shared_object comments. 2014716 Simultaneous acquisition of locks avoids possible deadlock. a340c9d Merge pull request #29 from leapmotion/example-autonet 54f2252 Merge pull request #28 from leapmotion/ref-eventreceiver 2a47179 Finished basic AutoFilter example b5ab0ce Added context initiation to AutoFilterTest constructor 76b4490 Created AutoNetExample 685400d Merge branch 'develop' into ref-eventreceiver 6b4117c Merge pull request #27 from leapmotion/feature-filterautodesire 83d2570 Merge pull request #26 from leapmotion/ref-testheaders a660977 Passes all tests b64f1a8 Changed AddInternalTraits constructor to be templeted on base type c8650e0 Eliminating superfluous header files in unit tests a3a1758 Filter exceptions thrown by AutoDesired c3b7e62 Adding an AutoDesired type for use in cases where exception robustness is desired 4ac4f37 Merge pull request #25 from leapmotion/ref-testutilities f960703 gtest-all-guard modified to allow delegation of main 206ddce Benchmark tests moved to their own test project 4715a22 Simplification of gtest-all-guard 0feec37 Class name refactored to reflect new purpose abb0cf3 EnclosedContextTestBase useful enough to merit creation of new project 18cffbc Whitespace 70facdc Merge pull request #24 from leapmotion/ref-lifecycletest fba7a70 Fixing final failing test e963698 Merge branch 'develop' into ref-eventreceiver 62a07e3 Fixed AutoNetServer to work with new TypeRegistry and EventRegistry 9223ac8 Added EventRegistryTest c8d5b1b Added EventRegistry for types where an event is called aff420f Merge pull request #23 from leapmotion/fix-cpp11 2e17dd2 Altered C++11 reference for portability 36cf6d6 Compiles and runs f819a64 Merge pull request #22 from leapmotion/issue-20 675e4e8 Merge pull request #21 from leapmotion/ref-decorateimmediate 15bc960 Correcting invalid linker flag for clang on other platforms baf767c Fixes #19 f78ca80 Modifying DecorateImmediate to enhance diagnostics c661951 Modifying test to show allocation in pool and deallocation after destruction of pool. d4c0c72 Added test of life-cycle guarantees of ObjectPool. 32c5a74 Queueing all AutoFilter calls, but decrementing all counters inside of locks. 0c76af8 JunctionBoxEntry shouldn't have TypeUnifier internally c1c7603 Removed all references to EventReceiver. 010251b Removed EventReceiver.h includes fb53737 Added RegType to Autorequired b38609f Merge pull request #18 from leapmotion/bug-deferreddeconly 72853e1 Object pool should only attempt to initialize after shared_ptr is created 92fa343 Adding a Deferred output-only AutoFilter fb55296 Merge pull request #17 from leapmotion/ref-tests c9ff391 Merge pull request #16 from leapmotion/feature-examples 5fcc423 Switching EnclosedContextTestBase to be a filter rather than a base type 0f28ca5 Finished basic event example 79ce603 Fixing incorrect unit test 96aa553 Adding a unit test to validate wait behavior while packets are still being processed 34d9afd Merge remote-tracking branch 'origin/ref-implicitdecoration' into develop 6cb6832 Updating frequently failing unit test to provide more failure diagnostics ec81b77 Merge pull request #14 from leapmotion/dep-moveonly 8c4be79 Created stubs from AutoFilterExample and EventExample d2ce96b Removed move_only.h 696cb2c Deprecating any use of MoveOnly 54a06fe Merge pull request #13 from leapmotion/bug-cpp11fixup cc79062 Adding a __has_feature extension definition for use in other projects 9f1881b Created CoreThread example 1dee298 Assume nullptr is always available 888203c Merge pull request #11 from leapmotion/bug-badoverload 7c6f539 Throw specification fixups 586d098 Added CoreContext example 8f5c842 Added CMake options for building examples b83755d Merge pull request #10 from leapmotion/bug-offsetwarn 6d314ec Correcting linux warning about invalid use of offsetof 7331f82 Creating examples for basic Autowiring types and concepts 047f627 Merge pull request #9 from leapmotion/bug-syncget 69f2300 AutoPacket::Get and AutoPacket::HasSubscribers need to be synchronized c8813e6 Explicitly forbidding movement of DecorationDisposition 96beb06 Adding pathological test to validate misbehavior of AutoPacket::Get 996813c Merge pull request #8 from leapmotion/fix-printlatest db1798a Print testing results in the event of a failure 9ca76a6 Adding an outstanding count reference to AutoPacket d513f3c Removing life-cycle consistency checks from AutoPacket. a531813 Fixed incorrect count of issued packets in SetMaximumPooledEntities(). 08f76f8 Fixed incorrect count of issued packets in ClearCachedEntities(). 8bcdd72 Adding AutoPacketFactory::GetOutstanding in order to test correct outstanding counts. 6192549 Restructured ObjectPool to satisfy AutoPacket (or any other object) lifecycle contract. Presently, AutoFilterTest hangs. 441a2f9 Adding life-cycle testing to AutoPacket. Presently, the lifecycle assumptions are not satisfied. bb804e2 Adding test for shared_ptr reduction to base-type for type redecoration. 104c6c0 Make all type repetition errors explicit about type in AutoPacket. da232c4 Say what type T is on decoration-already-exists error, #9891 5ccee33 AutoPacket has Reset, Initialize and Finalize methods. Now, all tests pass. eaa554e Whitespace twiddles. 05e3e51 Creating separate Initialize and Finalize referenced functions for ObjectPool. c89c2ef Prevent multiple calls during construction. bf89fb2 Methods with auto_out as only argument are called twice during construction of packet. 2875c76 Added test for repeated calls when constructing or destroying a packet. 4fa7fb5 Added test for nullptr decoration. 27bd0e9 Merge pull request #7 from leapmotion/fix-cpack ac2e882 Merge pull request #6 from leapmotion/bug-json11 61ed3f5 Adding -j flag to make to accelerate build 9206c55 Updated ignore list 3c259ff Silenced MSVC initializer error 6588d00 MSVC's version of snprintf is called _snprintf_s de56838 Implicit conversion warnings silenced d4a6f45 enable_if::type cannot form part of a template parameter space 1fb9b6d noexcept not added until Visual Studio 2014 4ef83cc Merge pull request #5 from leapmotion/feature-websocketpp 723d35b Removed jzon ecc83a8 Fixed websocketpp and switched to json11 17c3223 Added AutoNet headers to AutoNet project a76d6e4 AutoNetTest builds and runs 8a8a87c Moved C++11/ and Jzon to contrb/ 1fe1c16 Added websocketpp it contrib git-subtree-dir: contrib/autowiring git-subtree-split: 33751f9
What the heck even is I guess it makes sense that the only other PR that refers to it is #386, concerning its removal. |
yeswalrus
pushed a commit
that referenced
this pull request
May 24, 2017
Fix arm toolchains, allow proper aarch64 support
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I shouldn't have written AutoDesired to just blindly eat any exception that comes along. I'm adding handling so that AutoDesired invokes all of the standard exception filters when an AutoDesired request fails.
I'm not really sure yet what AutoDesired is going to be; at this point, it's just an experimental proposition. I'm open to suggestions on how it should behave--perhaps reworking the ExceptionFilter interface to have a concept of a nonfatal exception is a good idea?