* Specs for threadpool_open move to threadpool_create and threadpool_close to threadpool_dispose
* Addressed Dan's comments
* Missing SRS_THREADPOOL_WIN32_01_006 added back
* Pushing some of the missing changes and some new changes
* More changes
* One more change remaining
* Removed the backtick
* c_pal_umocktypes should link with c_pal_reals
* no need to build a mock library for c_pal_interface
* take out pal_ll_interfaces_mocks
* make call_once_ut compile
* better reals for async_socket
* added (void) to void functions
* add real socjket transport / socket for win32
* added reals for sokcet transport on linux
* async socket uses socket transport
* added real async socket for linux
* socket_transport has unbalanced } in C++ lands
* reals changes
* windows compiles now
* better but still doesn't compile on linux
* now it all compiles
* added stdint.h after CR
* meek attempt to have a mocks library with precompiled header
* this creates by hand win32_ll_mocks and uses it in call_once_ut_exe_c_pal
* mock loibrary for c_pal_interfaces is build with a function
* propagate_all_repos anporumb/pchmock3
* itr also compiles but does NOT link on linux
* now it builds AND links on LINUX
* added a minimal explanation about exiting visual studio
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* threadpool uses terminate_process
* make pal_ll_interfaces appear in Visual Studio
* it needs to be prefixed with inc
* extraneous files are removed
* write library name with capital letters
* use also for #ifdef
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* propagate_all_repos anporumb/pchmock3
* use latest dependencies 10 Oct 2024
* remove C_PAL_INC_FOLDER
* make it compile with latest c-pal
* use latest dependencies 10 Oct 2024
* remove garbage from build folder
* use latest dependencies 10 Oct 2024
* propagate_all_repos anporumb/pchmock3
* use latest dependencies 10 Oct 2024
* use latest dependencies 10 Oct 2024
* Spec changes to handle freeing the context after all tasks are completed and corresponding minor changes in threadpool_schedule_work
* Addressed Jelani's comments
* Corrected the verbage of assigning 0 for success in few of the Specs
* Threadpool Linux Implementation Initial Check In
* Fixed traceability issues #1
* Fixed traceability issues #2
* Spec changes to handle freeing the context after all tasks are completed and corresponding minor changes in threadpool_schedule_work
* Addressed Jelani's comments
* Corrected the verbage of assigning 0 for success in few of the Specs
* Added a new method timer_global_get_elapsed in timer_win32.c
timer_global_get_elapsed calculates time elapsed in seconds
Added a new test case in timer_win32_ut.c file to test the new method
Added spec for this new method
* Added global_timer_state_reset method to reset g_timer_state variable to 0 after each test case
Added an UT for g_timer_get_elapsed_in_us_succeeds to test timer_global_get_elapsed_us
Added global_timer_state_reset in interface file
* Added suffix _s to timer_global_get_elapsed
Added implementation for timer_global_get_elapsed_s in timer_linux.c
Added releavnt ut and specs in timer_linux_ut.c and timer_linux_requirements.md
* Added reference to spec for test case in timer_win32_ut.c
* Defining a macro with real_ prefix to avoid conflict with existing functions defined
* Added macro for global_timer_state_reset for avoid conflict with any existing method
* Added integration test for timer_global_get_elapsed_s()
---------
Co-authored-by: Navya Gaur <navyagaur@microsoft.com>
* Initial checkin with specs
* Fixed Traceability
* Fixed PVOID on Linux
* Fixed PVOID in threadpool.h
* Forgot to add threadpool.h into the commit, adding it now
* Addressed comments by Matt
* Addressed ALL comments by Matt
* Fixed some of the typos and requirement doc mismatches across the three interfaces, linux, win32
* Removed some dangling PVOID in linux implementation
* Fixing win32 reals and linux_reals
* Added the missing success message specs in threadpool_create_work_item
* Addressedd changes after discussion with Matt and Dan.
* Addressed Dan's comments
* Final comments from Dan resolved
* Initial checkin with specs
* Fixed Traceability
* Fixed PVOID on Linux
* Fixed PVOID in threadpool.h
* Forgot to add threadpool.h into the commit, adding it now
* Addressed comments by Matt
* Addressed ALL comments by Matt
* unit tests for socket_transport_
* fixed memory leaks and reviews
* fixed int test and binding socket errors
* making socket_transport_create seperate APIs
* fix for linux test
* fixes to spec
* before making reals for thandle_logging_context
* it doesn't compile
* update thandle_ll to expose types of functions
* with reals
* iwyu take 01 out of 99
* iwyu take 02 out of 99
* iwyu take 03 out of 99
* iwyu take 04 out of 99
* iwyu take 05 out of 99
* iwyu take 06 out of 99
* iwyu take 07 out of 99
* iwyu take 08 out of 99
* iwyu take 09 out of 99
* rename test name to something better
* Add additional comments for the known problem, suggest long-term
improvements and how to reprodice. Also use MU_DEFINE_ENUM for
timer_work_guard state.
* Whitespace fix.
Add a guard around the work function in timer callback, add a small wait to allow for timer_delete to clean up threads and ensure timer data is still allocated in the case when the timer executes immediately after timer_delete.
* Start with the proposed solution.
* threadpool linux int and UT passes.
* Add requirements and callback UT.
* Add real_thandle_helper.h and real_interlocked_undo_rename.h to c-pal repo.
Add a document and unit test to show how to use.
---------
Co-authored-by: Matt Durak <mdurak@microsoft.com>
* Add gballoc_hl_size to be used by the heap detouring
* Fix Linux-y stuff
* One more Linux fix
* Fix Linux test error
* Fix it harder
* Fix it harder
* Fix it harder
* One more fix