@@ -338,21 +338,19 @@ TEST_F(CallbackTest, ThreadedCallbackValue1Ordered) {
338338 &running);
339339 Thread addCallbacksThread (
340340 [](void * arg) -> void {
341- void ** callback_entry_to_remove_ptr = static_cast <void **>(arg);
342341 callback::AddCallback (
343342 new callback::CallbackValue1<int >(1 , OrderedCallbackValue1));
344343 callback::AddCallback (
345344 new callback::CallbackValue1<int >(2 , OrderedCallbackValue1));
346- // Adds a callback which removes the entry referenced by
347- // callback_entry_to_remove.
348- callback::AddCallback (new callback::CallbackValue1<void **>(
349- callback_entry_to_remove_ptr, [](void ** callback_entry) -> void {
350- callback::RemoveCallback (*callback_entry);
345+ // Adds a callback which removes a newly added callback.
346+ callback::AddCallback (new callback::CallbackVoid (
347+ []() -> void {
348+ void * callback_entry = callback::AddCallback (
349+ new callback::CallbackValue1<int >(4 , OrderedCallbackValue1));
350+ callback::AddCallback (
351+ new callback::CallbackValue1<int >(5 , OrderedCallbackValue1));
352+ callback::RemoveCallback (callback_entry);
351353 }));
352- *callback_entry_to_remove_ptr = callback::AddCallback (
353- new callback::CallbackValue1<int >(4 , OrderedCallbackValue1));
354- callback::AddCallback (
355- new callback::CallbackValue1<int >(5 , OrderedCallbackValue1));
356354 },
357355 &callback_entry_to_remove);
358356 addCallbacksThread.Join ();
0 commit comments