Граф коммитов

458 Коммитов

Автор SHA1 Сообщение Дата
Nishikant Deshmukh 7657e2df2c
Threadpool open and close function scope reduction (#408)
* Threadpool open and close function scope reduction

* Retry tests with 3000 msec sleep

* Commenting out some chaos tests

* Chaos test fix

* Avoiding compiler optimization for chaos_delay function

* Change to chaos_delay to satisfy RelWithDebInfo JEMALLOC

* Addressed Dan comments

* Pushing Threadpool changes so that interlocked and sync changes are in a different PR

* Removed threadpool_open and threadpool_close

* Branch merge

* Avoiding compiler optimization for chaos_delay function

* Change to chaos_delay to satisfy RelWithDebInfo JEMALLOC

* Addressed Dan comments

* Pushing Threadpool changes so that interlocked and sync changes are in a different PR

* Using the interlocked_hl and sync functions

* Fix the removal of few lines due to merge conflict previously
2024-11-20 23:23:31 +00:00
Nishikant Deshmukh 3434cf0416
Add 64-bit APIs in interlocked_hl.h and sync.h (#413)
* Specs for interlocked and sync 64

* Specs for interlocked and sync 64 - Parth comments

* Mergeable specs

* Addressed Parth comments

* Address Dan's comments

* Implementation of 64 bit for interlocked_hl and sync

* Added missing LogErrors

* Added missing LogErrors and some Specs corrections

* Corrected comment indentations

* Addressed Dan's comments

* Addressed Jelan's comments
2024-11-18 20:10:04 -08:00
Nishikant Deshmukh 76da349891
Specs for interlocked and sync 64 (#411)
* Specs for interlocked and sync 64

* Specs for interlocked and sync 64 - Parth comments

* Mergeable specs

* Addressed Parth comments

* Address Dan's comments
2024-11-15 15:40:39 -08:00
Jelani Brandon 9ee20f092c
Update dependencies (#410)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-11-12 11:08:25 -08:00
Bingyi Yang 59cc1df5b1
add a threadpool chaos test (#406)
* add a chaos test

* change back thread count

* address comments

* address comments

* address comment

* add a comment

* fixed a typo

* address comments
2024-11-11 18:04:43 -08:00
Dan Cristoloveanu 87af89ee32
Update dependencies (#407) 2024-11-05 15:58:57 -08:00
Matt Durak 78b5281143
Add real_threadpool_thandle for convenience in UTs (#405)
* Add real_threadpool_thandle for convenience in UTs
2024-11-04 09:54:16 -08:00
Jelani Brandon 7501f78f6f
updating wait_on_address to return the timeout (#404)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-31 16:29:09 -07:00
Nishikant Deshmukh 6aaa879511
Specs for threadpool_open move to threadpool_create and threadpool_cl… (#403)
* 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
2024-10-31 13:29:12 -07:00
Bert Kleewein e1df027dc1
add reals for job_object_helper (#402)
* add reals for job_object_helper

* add stdint
2024-10-26 20:27:36 -07:00
anporumb fa600a0a8b
Solve C4505 t the source. (#400)
* added MU_SUPPRESS_WARNING for REF_COUNT types

* also removed it from thandle_ll.h

* MU_SUPPRESS_WARNING(4505) /*warning C4505: 'function': unreferenced function with internal linkage has been removed*/

* propagate_all_repos anporumb/pchmock6

* propagate_all_repos anporumb/pchmock6

* propagate_all_repos anporumb/pchmock6

* propagate_all_repos anporumb/pchmock6

* use latest dependencies 13 Oct 2024

* use vcpkg from master
2024-10-25 12:58:21 -07:00
David Robson fc42835c0e
Update dependencies (#398) 2024-10-24 15:37:29 -07:00
Bingyi Yang 537d59b60f
add threadpool timer state spec (#396)
* add spec

* address comments
2024-10-24 11:29:47 -07:00
Bert Kleewein bd77337893
Code and tests for job-object-helper (#388)
* copy tests from geo

* ready for tests

* first pass

* second pass

* negative test pass

* more

* a few more

* all unit tests pass

* integration test for memory use

* integration tests for CPU use

* comment out full memory use test

* adjust CPU expectations

* really relaxing this test. Maybe we need something better.

* fix interlock

* passing"

* log lines

* final PR feedback
2024-10-22 15:42:24 +00:00
Jelani Brandon bbc959b9e9
re-enable traceability code in repo (#393)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-21 14:40:48 -07:00
Jelani Brandon b593eda612
Revert check in for Socket transport (#392)
* reverting files

* fixing reverted changes

---------

Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-21 18:24:53 +00:00
anporumb 752bec6839
fixes for EBS repo and remove c_pal_interfacesmocks (#391)
* 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
2024-10-18 11:41:44 -07:00
anporumb e66530d200
use latest master AND modifications for latest ctestrunnerswitcher (#390)
* pal_interfaces now appears in Visual Studio and has mocks

* now it compiles on Linux too

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* spaces removed apparently

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* use the variable set in c-testrunnerswitcher

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* propagate_all_repos anporumb/pchmock4

* revert interfaces/CMakeLists.txt to master

* use latest dependencies 17 Oct 2024

* use vcpkg from master
2024-10-18 04:51:45 +00:00
samrach9 ab26b45658
initial integrations of socket_transport into async_socket (#354)
* initial integrations of socket_transport into async_socket

---------

Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-16 10:27:20 -07:00
anporumb fd1c0a2c6c
Update dependencies (#387) 2024-10-14 12:13:01 -07:00
anporumb 99dc1e943e
linux reals shoud bring in the include for linux (#386)
* also have target_include_directories(pal_ll_win32 with common/inc

* linux_reals should bring in the interface of linux
2024-10-11 13:30:43 -07:00
anporumb cf83dc4ed7
use correct include path and no double reals (#385)
* use the correct include path

* propagate_all_repos anporumb/pchmock3

* no double include

* why CMAKE, WHY
2024-10-11 11:41:50 -07:00
anporumb 0fee3af5d5
add the smallest precompiled header and use it in 1x project. (#384)
* 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
2024-10-11 10:26:22 -07:00
Jelani Brandon e8692afe7d
fix missing include in real file (#383)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-09 21:03:33 -07:00
Bert Kleewein 345b3df3c7
job_object_helper_v2 spec and header (#377)
* job_object_helper_v2 spec and header

* PR feedback
2024-10-08 03:37:22 +00:00
Nishikant Deshmukh 9b78edc73e
Change Timeouts to UINT32_MAX (#382) 2024-10-07 19:46:56 +00:00
Nishikant Deshmukh a768b6241b
Threadpull Linux Implementation (#381)
* 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
2024-10-07 10:51:11 -07:00
anporumb 2a63cf4345
Anpo 03 oct 2024 update deps (#380)
* use latest dependencies 03 Oct 2024

* use master vcpkg

* use submodule master check
2024-10-04 01:14:01 +00:00
Parth Aggarwal 24f3a9d8c8
Update dependencies (#379) 2024-10-03 16:48:32 -07:00
Jelani Brandon 26720d19e2
adding code to detect port exhaustion (#378)
* adding code to detect port exhaustion

Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2024-10-02 16:33:55 -07:00
Bert Kleewein 21354df004
design & header specs for job_object_helper (#370)
* design & header specs for job_object_helper

* PR feedback

* updated requirements

* update API to set memory limit
2024-09-26 14:50:34 -07:00
anporumb d7bf19f934
Anporumb/pchmock (#375)
* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* use latest masters

* revert vcpkg to master

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* use latest masters
2024-09-26 19:44:47 +00:00
anporumb c6626d7ff6
use_vld (#374)
* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* use latest masters
2024-09-26 12:06:36 +00:00
Nishikant Deshmukh 878c8367b3
Spec changes to handle freeing the context after all tasks are comple… (#373)
* 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
2024-09-25 16:47:40 -07:00
anporumb e25f8f0494
update for umock IMPL/DECL (#372)
* propagate anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* fix c_pal against LNK errors

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* changes for MOCKABLE_INTERFACE

* fix typo

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* propagate_all_repos anporumb/pchmock

* update to latest subrepos

* doisable incklude what you use
2024-09-24 19:58:36 +05:30
Nishikant Deshmukh 71e315817c
Threadpool WIN32 changes implementation (#371)
* Threadpool WIN32 changes implementation

* Fixed few unit-tests and memory leaks
2024-09-19 14:52:53 -07:00
Navya Gaur 27c3d6f2ca
Added method to get time elapsed in seconds without creating a timer (#369)
* 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>
2024-09-19 13:33:49 +05:30
Jasmine Lo 17e13e9be2
fix build error (#368) 2024-09-10 12:28:53 -07:00
Jasmine Lo 0f2a094135
Update dependencies (#367) 2024-09-09 14:14:11 -07:00
Nishikant Deshmukh cc9697529c
Fixing the failed merge in threadpool_specs_pt2 branch (#366) 2024-09-04 17:47:13 +00:00
Nishikant Deshmukh d558f1cc7e
Nisdeshmukh/threadpool specs pt2 (#365)
* 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
2024-09-04 01:33:19 +00:00
Nishikant Deshmukh 8c1dd06fb3
Initial checkin with specs (#362)
* 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
2024-09-03 17:35:36 -07:00
Dan Cristoloveanu 82c66b2da7
Update dependencies (#363) 2024-08-30 09:50:01 -07:00
Dan Cristoloveanu a6e04ff3ca
Update dependencies (#361) 2024-08-26 14:48:53 -07:00
samrach9 d79a408f35
adding two functions to socket_transport API (#359)
* adding two functions to socket_transport API

* changing function name

* small fixes
2024-08-19 11:30:52 -07:00
anporumb 2ddd023c53
Update dependencies (#360) 2024-08-16 08:08:13 -07:00
samrach9 f20caca657
adding timeout to socket_transport (#358)
* adding timeout to socket_transport

* iwyu fix

* adding define
2024-08-14 09:53:16 -07:00
samrach9 4edd494c91
adding socket_accept enum (#356)
* adding socket_accept enum

* changing to NO_CONNECTION

* adding SOCKET_ACCEPT_NO_CONNECTION to linux
2024-08-08 12:17:39 -07:00
anporumb 1cbc6cedfd
Update dependencies (#355) 2024-08-06 08:55:34 -07:00
Bert Kleewein 31ae6b6faf
Fix geo -- timer.h is required for ENABLE_SOCKET_LOGGING (#353) 2024-07-23 14:55:32 -07:00