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

185 Коммитов

Автор SHA1 Сообщение Дата
Dan Cristoloveanu 6d0a809ed9
Add srw_lock_ll win32 implementation (#248) 2023-06-23 11:25:30 +05:30
Dan Cristoloveanu a194e053e8
srw lock ll specs (#247)
* srw_lock_ll

* Add srw_lock_ll specs

* Add specs for srw_lock_ll

* Address CR comments
2023-06-22 20:58:04 -07:00
anporumb c290190217
have logging when socket fails (#236) 2023-06-09 19:30:37 +00:00
anporumb 92a73e5794
win32reals needs to link with rpcrt4 (#238) 2023-05-18 11:26:32 -07:00
Jelani Brandon 37ba02493c
fixing a few threadpool errors that were found (#234)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2023-04-20 15:02:46 -07:00
Jelani Brandon b7a0801bfd
Threadpool THANDLE-ifyed (#233)
* chore: moving threadpool_open_async to threadpool_open

---------

Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2023-04-13 14:43:02 -07:00
Jelani Brandon ae7fddef8c
feature: moving thandle to pal repo (#231)
* feature: moving thandle to pal
---------
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2023-04-03 14:55:07 -07:00
Dan Cristoloveanu ed49c0f0a4
New deps + remove mutex (#227)
* Update dependencies

* Remove mutex

* Remove mutex

* New deps

* Update dependencies
2023-03-29 13:14:33 -07:00
anporumb b80a232af6
Anpo 03 14 2023 update deps (#224)
* use latest dependencies

* remove C11
2023-03-14 21:30:32 -07:00
Bingyi Yang 0c8ac64304
move sm and its dependencies from c-util to c-pal (#207)
* move sm and its dependencies from c-util to c-pal

* fix iwyu

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* fix some compile errors

* move sync and interlock into a new lower level c-pal

* fix linux build error

* fix win cmake build error

* changes with comments

* fix linux build error

* merge
2023-01-29 00:07:45 -08:00
Dan Cristoloveanu bac3b2390b
Rename ASYNC_SOCKET_SEND_SYNC_ABANDONED to ASYNC_SOCKET_SEND_SYNC_NOT_OPEN (#204)
* Rename ASYNC_SOCKET_SEND_SYNC_ABANDONED to ASYNC_SOCKET_SEND_SYNC_NOT_OPEN

* Rename ASYNC_SOCKET_SEND_SYNC_ABANDONED to ASYNC_SOCKET_SEND_SYNC_NOT_OPEN for Linux too
2023-01-18 19:47:06 -08:00
Jelani Brandon 6a9b28f301
chore: adding s_list reals (#191)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2022-12-12 15:29:06 -08:00
Jelani Brandon 65f467f09a
feature: adding doublylinklist and slist to repo (#188)
Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2022-12-10 13:31:22 -08:00
Dan Cristoloveanu 0c1d5e01b5
Make gballoc_hl_metrics not include windows.h (#189)
* Make gballoc_hl_metrics not include windows.h

* Addressed CR comments
2022-12-07 22:33:49 -08:00
Dan Cristoloveanu 5232411f9f
Remove unnecessary casts (#186) 2022-12-05 20:22:06 -08:00
Achintya ad8548edaa
Add assert (#184) 2022-12-02 23:02:26 +05:30
anporumb 4ea501b566
more renames for threadpool (#183) 2022-12-01 15:22:08 -08:00
Riddhi Gupta 6b3ff5ecf0
Changing return type of wait on address (#182)
* Changing return type of wait on address

* Removing 1 requirement

* Adding changes for linux

* Adding logging

* Changes in linux code to fix int test

* Addressing comment

* Minor fix

Co-authored-by: Riddhi Gupta <riddhigupta@microsoft.com>
2022-12-01 15:24:38 +05:30
anporumb 8064ad3272
add some needed reals upstream (#181)
* async_socket has reals part 1

* async_socket part 2

* async_socket part 3

* maybe thraedpool

* maybe threadpool 2

* execution engine part 1

* execution engine part 2

* execution_engine_win32 maybe

* execution_engine_win32 maybe 2

* execution_engine_win32 maybe 3
2022-11-30 11:06:44 -08:00
Matt Durak f6ae7b93f5
Add execution_engine_inc_ref to threadpool (#175)
* Add execution_engine_inc_ref to threadpool

* Write int test to prove that it was broken and now works
2022-11-10 09:31:56 -08:00
Jelani Brandon 90b8e21815
feature: adding threadpool linux implementation (#171)
* feature: adding threadpool linux implementation

Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
2022-11-08 11:52:52 -08:00
Dan Cristoloveanu 9bf97f46f0
Add jemalloc print stats (#170)
* Update build files for jemalloc to 5.3.0

* Add print_stats API in LL

* Add jemalloc print stats

* Split jemalloc stats text in 1K chunks

* Add jemalloc print stats

* Fix .md
2022-10-10 21:54:40 -07:00
anporumb 6a5675adb3
eliminate C++ from tests (#154) 2022-06-21 14:04:19 -07:00
anporumb f7032c4bd4
added vsprintf_char specs/code/ut/int (#153)
* added vsprintf_char specs/code/ut/int

* now with setlocale

* don't have mocks call other mocks
2022-06-14 15:46:52 -07:00
anporumb a4dad11912
string_utils has FILETIME_to_string_UTC. New UT project. New INT proje… (#152)
* sring_utils has FILETIME_to_string_UTC. New UT project. New INT project. New specs

* fix compiler error about unreachable code

* 3rd time is a charm!

* after CR
2022-06-09 16:06:58 -07:00
Parth Aggarwal 32418199a1
Use GetActiveProcessorCount in sysinfo (#150)
* .\win32\

* checking for failure
2022-06-03 16:15:00 -07:00
Matt Durak 9146f36158
Async socket closesocket (#147)
* async_socket should call closesocket
2022-04-14 07:58:07 -07:00
Dan Cristoloveanu 7f38da1a43
Update dependencies (#146)
* Update dependencies

* Fix test projects
2022-03-16 18:32:18 -07:00
anporumb 1d25f96a06
have inverse conversion from UUID_T to GUID (#143) 2022-01-14 13:30:33 -08:00
anporumb c6badba773
remove traces of uniqueid (#142)
* remove traces of uniqueid

* really remove
2022-01-13 12:32:01 -08:00
anporumb 67b993b0cb
or else it is doubly defined (#141) 2022-01-10 18:26:59 -08:00
anporumb 4b8dd7f491
fix linux string utils (#140)
* at least have the almost same header

* it did not include string_utils.h

* remove <<extern>> from here and everyhwere
2022-01-10 17:17:39 -08:00
anporumb 2660ec8004
UUID leftovers (#139)
* works on windows

* all tests pass on Linux/Win32

* with requirements

* with YWYU

* more include

* now iwndows maybe compiles

* added GUID to UUID_T conversion

* added chapter for windows

* fix horrible ciopy paste

* added PRI_GUID and tests for it

* more tests/documents

* why not have umock_types where the type is declared?

* include what you use should stop complaining

* while I am here, remove real_malloc

* free => real_Free

* after CR

* leftrover

* const UUID_T not the same as UUID_T

* I am tired, officially
2022-01-10 14:20:10 -08:00
anporumb abd708fa4d
have unique UUID (#138)
* works on windows

* all tests pass on Linux/Win32

* with requirements

* with YWYU

* more include

* now iwndows maybe compiles

* added GUID to UUID_T conversion

* added chapter for windows

* fix horrible ciopy paste

* added PRI_GUID and tests for it

* more tests/documents

* why not have umock_types where the type is declared?

* include what you use should stop complaining

* while I am here, remove real_malloc

* free => real_Free

* after CR
2022-01-10 11:11:12 -08:00
anporumb 2939278e9d
remove unneeded conditions and hope for optimization from compiler (#117)
* in the hope that the compiler will optimize some constants
2021-10-21 11:29:10 -07:00
anporumb 27107e1f2f
have some x64 mutiply thingies (#111)
* have 64x64=128 bit multiplication
2021-10-20 15:03:16 -07:00
anporumb 6fc3493014
have refcount_create_flex (#115)
* have refcount_create_flex
2021-10-19 07:30:31 -07:00
anporumb fb7c931c4c
use new gballoc functions (#113)
* use new gballoc functions in c_pal
2021-10-15 08:33:10 -07:00
anporumb 054ff62857
gballoc hl win32 (#112)
* hl with _2 / _flex
2021-10-14 15:08:52 -07:00
anporumb e34ae1937c
more gballoc_ll (jemmaloc / linux bits) (#110)
* jemalloc/linux now is _2/flex aware
2021-10-13 10:42:42 -07:00
anporumb f0d803188a
memory allocation with checks (mimalloc) (#108)
update mimalloc for _2/flex APIs
2021-10-13 07:18:39 -07:00
anporumb 7980dee478
memory allocation with checks part 1 (passthrough, win32heap) (#107)
added gballoc_malloc/realloc/_2/_flex with arithmetic checks for passthrough+win32
2021-10-12 14:17:28 -07:00
Parth Aggarwal 7ff568d9e2
fix test lib names (#105) 2021-10-11 13:38:56 -07:00
Matt Durak b5c3edbb01
Helper for refcount reals (#100)
* Add a real_refcount to use refcount types in tests without mocked interlocked calls

* Fix interlocked includes

* Re-enable real_refcount
2021-09-27 17:46:54 -07:00
Dan Cristoloveanu d7fd85c6e0
Add logging in c-pal (#95)
* Add logging in c-pal

* Have conditional socket logging

* Address CR comments
2021-06-18 21:24:03 -07:00
anporumb 54189ec015
kill gballoc (#90)
* use latest submodules

* remove ON
2021-06-02 09:26:59 -07:00
Dan Cristoloveanu 85eaf3fcbb
Update dependencies (#81)
* Update dependencies

* Do not build mimalloc and jemalloc for includecheck

* Build tests for mimalloc only if using mimalloc, same for jemalloc

* Only run hl tests with mimalloc and jemalloc if the config was selected and the lib was built
2021-04-14 14:49:57 -07:00
Dan Cristoloveanu 8c73659a8f
New deps (#78)
* Update dependencies

* Fix test suites

* Use latest deps

* Remove boilerplate main.c files

* Fix test suites

* Fix Linux build

* Do not use cppunittest by default
2021-04-07 08:52:48 -07:00
Dan Cristoloveanu facd0b8bda
Bump cmake version (#73)
* Update dependencies

* Bump cmake version
2021-01-27 21:57:04 -08:00
Dan Cristoloveanu d2352dc635
Changes for iwyu (#70) 2021-01-22 21:04:00 -08:00
Matt Durak e249a5363d
Module for popen/pclose (#67)
* Adding pipe module for popen/pclose needs int tests
2021-01-21 18:52:27 -08:00
Dan Cristoloveanu c609aabc78
Add includecheck leg with iwyu (#68)
* Use umock with exported macro_utils.h

* Fix includes

* Add includecheck leg
2021-01-21 12:40:46 -08:00
Matt Durak 99f25f4012
Adding cancel and restart to threadpool timer (#65)
* Adding cancel and restart to threadpool timer

* Renaming threadpool_timer functions
2020-12-16 16:07:51 -08:00
Matt Durak 9382bf53f7
Handle 0 bytes received as socket closed (#58)
* Handle 0 bytes received as socket closed

* Remove NuGet from build (wrong version but it shouldn't be needed at all)
2020-11-18 10:34:53 -08:00
Dan Cristoloveanu d3daae4094
Enable valgrind and VLD on c-pal (#56) 2020-11-05 19:28:55 -08:00
Dan Cristoloveanu b2af7d8449
Add sysinfo abstraction (primarily for getting processor count) (#54)
* Rename specs to be suffixed with requirements

* Add header, spec and basic int test for sysinfo

* Add UT project for sysinfo_win32

* Add unit tests for sysinfo_win32

* Add unit tests for Linux also
2020-11-02 19:36:25 -08:00
Matt Durak 6bb3b0f59f
Socket error handling improvements (#53)
* Adding synchronous error codes to async socket send and handling specific errors in async_socket as BECAUSE_CLOSE so callers can treat those failures differently than actual failures.

* Rename BECAUSE_CLOSE to ABANDONED
2020-11-02 14:22:29 -08:00
anporumb 964df11c83
restart uses latest deps (#51)
* git rm old repos

* removed rogue azure-c-logging

* now uses latest renamed modules

* umock too - latest and greatest

* renamed azure_c_pal to c_pal

* remove remnants of azure-c_c
2020-10-30 14:17:47 -07:00
Dan Cristoloveanu 3313323176
Fix build warnings and remove VLD install (#50)
* Fix build warnings and remove VLD install

* Make VS tests actual be run
2020-10-30 10:42:20 -07:00
Dan Cristoloveanu f6649ec50d
Add timer_linux (#48) 2020-10-27 19:17:51 -07:00
Dan Cristoloveanu 0bf53cc2fd Modify wait_on_address to have a value rather than address. It helps with enum usage 2020-10-16 12:38:18 -07:00
Dan Cristoloveanu a9eed9c2cf Avoid collision when building on Linux: timer_create already exists ... 2020-10-13 17:13:04 -07:00
Dan Cristoloveanu ada6c0482a Remove interlocked_hl 2020-10-07 09:30:02 -07:00
Dan Cristoloveanu 4542ac5476 Address CR comments for interlocked_hl using sync APIs 2020-10-06 20:09:12 -07:00
Dan Cristoloveanu 3360181744 Use sync APIs in interlocked_hl 2020-10-06 20:09:12 -07:00
Dan Cristoloveanu ea700ef440 Remove unused ThreadAPI_Exit 2020-10-05 21:45:58 -07:00
Dan Cristoloveanu 1f3187059e Address CR comments 2020-10-05 20:55:04 -07:00
Dan Cristoloveanu 898cc5a84b Make threadpool int tests not use interlocked_hl 2020-10-05 20:55:04 -07:00
Dan Cristoloveanu e5d6a0d4ee Use interlocked.h for interlocked operations in interlocked_hl.h 2020-10-05 20:55:04 -07:00
anporumb 23d8817932
prepare for zc preprocessor (#38)
* prepare for zc_preprocessor

* threadapiexit is noreturn

* fix TAB to spaces and use latest repos

* some more changes to CMakeLists.txt

* move to our pool and VS 2019

* exit from threads with return, no ThreadApi_return

* it is not prepared to run with valgrind

* try to previous traceability that apparently worked mysteriously

* more traceability

* have the exlusion dir filly specified
2020-09-29 22:41:40 -07:00
Dan Cristoloveanu 3683dd1efa Add int test for gballoc_ll_jemalloc 2020-08-18 10:37:35 -07:00
Dan Cristoloveanu 8128ef67fa Add unittests for gballoc_ll_jemalloc 2020-08-18 10:37:35 -07:00
Dan Cristoloveanu 85db3bdfe8 Make it build with unit tests 2020-08-18 10:37:35 -07:00
Dan Cristoloveanu 0d61b3e234 Made it build 2020-08-18 10:37:35 -07:00
Dan Cristoloveanu 87f82d3811 Switch to 2 macros: one with default malloc/free and one with custom malloc/free 2020-08-14 23:56:48 -07:00
Dan Cristoloveanu e388bf105a ref count type define supporting malloc/free being specified 2020-08-14 23:56:48 -07:00
anporumb 667da67912
gballoc hl metrics uses lazy init (#31)
* hl_metrics uses lazy_init
2020-08-07 10:40:48 -07:00
anporumb 905e820bc1
gballoc hl passthrough uses lazy init (#30)
* gballoc_hl uses lazy_init

* fix reals

* gballoc_hl_passthrough patch for linux
2020-08-06 16:56:20 -07:00
anporumb 140c7d3755
gballoc_win32heap use lazy init (#29)
win32heap ll impl
2020-08-06 13:44:12 -07:00
anporumb 5f7404b8d9
have call once/lazy_init/SetAndWakeAll (#28)
* have interlockedhl_setandwakeall and call_once

* have lazy_init

*have sync_real
2020-08-06 07:15:02 -07:00
anporumb 97ef26bac3
remove lock and add gballoc init deinit to all tests (#26)
* added gballoc_init/deinit and removed Lock
2020-07-31 17:10:59 -07:00
anporumb ed802bec24
gballoc and strings exist for linux (#24) 2020-07-30 16:09:37 -07:00
anporumb e49942231b
propagate gballoc_hl (#21)
removed gballoc.h and uses gballoc_hl/ll from now on
string utils is in a better shape mocking wise.
2020-07-30 10:06:16 -07:00
Dan Cristoloveanu ae0c28f10d Address the rest of the comments 2020-07-28 20:07:09 -07:00
Dan Cristoloveanu 7700d3dc62 Addressed most of the review comments 2020-07-28 20:07:09 -07:00
Dan Cristoloveanu 9c030dd29e Add TryAcquire for srw_lock 2020-07-28 20:07:09 -07:00
anporumb 2728759946
timer does not use gballoc (vanilla) or gballoc_hl (#18)
* timer does not use gballoc (vanilla) or gballoc_hl
2020-07-27 08:59:01 -07:00
anporumb 902c64c069
Anpo refcount now uses interlocked (#16)
* refcount now uses interlocked instead of own mechanism
2020-07-24 10:58:12 -07:00
anporumb 95f9219ba2
use latest logging and fix 1 loglasterror (#15)
use latest c logging and fix 1 bug related to LogLastError
2020-07-23 14:37:21 -07:00
anporumb 921d787466
have hl with metrics (#14)
have gballoc_hl with metrics
2020-07-23 12:59:39 -07:00
Parth Aggarwal 877e3eefda
Merge branch 'master' into file_win32 2020-07-21 19:00:01 -04:00
Parth Aggarwal 7ffcb37853 hopefully fixed build error 2020-07-21 18:26:23 -04:00
Parth Aggarwal d2272367ca more changes 2020-07-21 17:15:24 -04:00
parth21999 36968d91aa win32 implementation, unit tests, integration tests 2020-07-21 14:22:30 -04:00
anporumb a98c9c69d4
add gbaloc ll (#11)
have gballoc_ll with 3 implementations
2020-07-20 19:15:32 -07:00
Parth Aggarwal 0c334dc671 small fixes 2020-07-20 20:36:00 -04:00
Parth Aggarwal e60bea2ba3 fixed .c and ut, fixes to in tests coming up 2020-07-20 20:34:17 -04:00
Parth Aggarwal 057d347a9a tests 2020-07-17 18:43:35 -04:00
Parth Aggarwal 63a9d497a2 file_win32 implementation, unit tests and int tests 2020-07-17 16:55:23 -04:00
parth21999 27e8e7d97c added file.h to inc/azure_c_pal 2020-07-10 17:33:13 -04:00