LDA
9f706102c4
Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment
2024-06-15 13:43:45 +02:00
d983296dd2
[MOD] As it turns out, you do need to free thr fd.
2024-06-03 19:42:09 +02:00
007b8f6d43
[MOD/WIP] Blazing-fast memory allocator 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀
...
This still however removes `MemoryIterate' from allocations, because
it's a real performance pickle. From my tests parsing large sync
replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync).
Still need a good compromise along MemoryIterate(like maybe find out a
clever way to only make it run on a small subset, or maybe just randomly
run it from time to time, or maybe just roll without it except on some
soft of debug mode????)
2024-06-03 16:18:29 +02:00
9108fef701
Fix inconsistent sanitation with the database ( #32 )
...
Cytoplasm's Db currently doesn't sanitate database entries consistently, and this PR should be a quick fix for this.
Reviewed-on: Telodendria/Cytoplasm#32
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-05-26 15:31:14 -05:00
346b912a06
ArraySort(): Fix bound checking bug.
...
Closes #31 .
2024-05-18 10:50:18 -04:00
461357b526
Move headers from src/include
to include/Cytoplasm
.
...
This makes it easier to build Cytoplasm as a component of another
program (for example, Telodendria), or as a standalone system library.
2024-01-13 18:40:31 -05:00
31c9bc7f1c
Update Cytoplasm license text for 2024.
2024-01-13 17:56:58 -05:00
662696ce12
C99 Compliance ( #29 )
...
This pull request brings Cytoplasm up from C89 to C99, which makes it much more portable across platforms. In particular, this pull request solves a number of issues with 32-bit platforms.
Closes #28 .
Closes #12 .
Closes #20 .
Reviewed-on: Telodendria/Cytoplasm#29
2024-01-13 17:13:45 -05:00
lda
44b7f45bb7
[FIX] Fix other potential double-free
...
Was done "à la va-vite" since I can't really work on it directly right now.
2024-01-01 07:57:11 -05:00
3788d044e6
[FIX] Fix potential double-free issue in Cytoplasm
2023-12-14 18:31:20 +01:00
17f1a41519
HttpRouter
: Decode path parts before matching. (#19 )
...
Required by Telodendria/Telodendria#44 .
Reviewed-on: Telodendria/Cytoplasm#19
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:25:28 -05:00
ba1ac5b42b
Add JsonMerge()
.
...
Closes #15 .
2023-11-06 19:59:46 -05:00
8ffade37b1
Add a meta header.
...
This allows programs to print the name and version of the library that
is currently in use.
2023-11-01 11:26:27 -04:00
3a683dbb70
Fix includes in headers.
...
These are installed to the system and some compilers may not find the
headers in the current directory if we don't do this, even though
according to the C standard, either should work.
2023-10-30 12:10:41 -04:00
7e21b2bfce
Format source code and apply license.
2023-09-28 19:16:45 -04:00
LoaD Accumulator
9c4c3fc899
Fixes issue #33 related to a memory issue, and format some code. ( #35 )
...
Fixes #33 .
Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Reviewed-on: Telodendria/telodendria#35
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-committed-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
2023-09-11 10:57:16 -04:00
8e8342528f
Apply #72
2023-09-04 13:30:22 +00:00
4e58b41049
Update documentation on UtilServerTs().
2023-08-17 18:09:20 +00:00
bcfab52f09
Ignore special case in Int64Str. This is hack but good enough for now.
2023-08-13 12:33:18 +00:00
a1da7c7b4a
Json now uses Int64 for integers.
...
This should fix all timestamp errors on 32-bit systems in Cytoplasm and
Telodendria.
2023-08-13 03:11:40 +00:00
2c715c6e72
Make all timestamps use UInt64.
2023-08-12 23:02:06 +00:00
e9af54e4c7
Allow forcing the emulation mode for testing purposes.
2023-08-12 21:51:51 +00:00
63f835d006
Add signed 64-bit integer support.
2023-08-12 19:59:16 +00:00
92b1e60c4c
Add 64-bit emulation for platforms that don't have a native 64-bit type.
2023-08-12 16:30:24 +00:00
b3b0206107
Format code.
2023-07-29 18:27:17 +00:00
ee267b077d
Add HashMapKeys() and HashMapValues() functions for convenience.
2023-07-18 00:15:29 +00:00
e592cd8e5c
Add basic Graph API.
...
This is going to be useful with state resolution and dependency ordering,
both of which will be crutial components of Telodendria.
2023-07-16 01:12:56 +00:00
c4ef6d4ddc
Apply #71 : Add ArrayUnique() function.
2023-07-15 22:27:24 +00:00
c4121d2dba
Fix Unicode handling in Json, don't sign-extend bytes in Stream.
2023-07-15 17:57:21 +00:00
e557de8d9d
Fix Unicode handling.
2023-06-21 02:49:58 +00:00
0b539a471d
Fix CanonicalJson and ArraySort.
2023-06-21 02:37:56 +00:00
c03b092536
Format source code.
2023-06-18 02:53:52 +00:00
4abd0e9c22
Add Sha1 implementation.
2023-06-17 17:36:46 +00:00
f5abcf5e50
Refactor Sha API to return raw bytes, added Sha1() function.
2023-06-17 17:36:11 +00:00
179e16ed24
Apply #70 : Add StrLower() function.
2023-06-12 14:10:59 +00:00
eb3732a2cd
Fix potential race condition.
2023-06-09 19:27:49 +00:00
a177c55c26
Make Memory use a recursive mutex.
...
This allows some additional operations to be performed inside the memory
hooks, although it's still a bad idea to allocate or free memory while
inside the hook.
2023-06-04 18:44:37 +00:00
bd1918ee05
Re-add memory bounds checking.
...
Also fixed a recursive lock error in some configurations, and replaced
a usage of strcpy() with strncpy().
2023-05-29 23:53:17 +00:00
a358ca795d
Format code.
2023-05-27 18:22:38 +00:00
11a7b6653d
Log a message stating that TLS is disabled if the config requests it.
2023-05-27 17:55:49 +00:00
c5cfdb9894
Show human-readable thread ID in log messages.
...
This helps debug some multithreading issues.
2023-05-27 17:10:07 +00:00
5694a609eb
It appears that OpenSSL closes the socket descriptor for us.
...
When we close it again manually, we may actually be closing another thread's
file descriptor, which causes all kinds of problems.
2023-05-27 17:03:40 +00:00
a853c5670c
Fix potential write out of bounds.
2023-05-26 23:47:36 +00:00
a7de0e4d16
Remove memory bound checking logic.
...
While this was nifty and impressive, it seems like it is too easy to mess
up, and is too platform-specific.
2023-05-26 23:10:00 +00:00
b02ad117c4
Fix SIGBUS on some platforms. Memory alignment matters!
...
This is a temporary fix; I'm not convinced it will work on all platforms,
so I will probably end up removing all of the memory boundary code
altogether.
2023-05-26 23:05:35 +00:00
0e60cd5195
Push Main return value into MainArgs.
...
This prevents weird things from happing on some architectures.
2023-05-26 21:05:06 +00:00
3a78e50044
Fix incorrect block size.
2023-05-25 00:03:17 +00:00
0c3ccb2c99
Don't log anything at the end of main; user may have redirected and closeed stream.
...
This would cause a segfault.
2023-05-24 23:32:53 +00:00
061d9df739
Add sane default memory hook to Cytoplasm, fix more leaks in json.
2023-05-23 22:43:37 +00:00
4b85d10983
Don't leak so much memory.
2023-05-23 17:53:19 +00:00