Commit Graph

1103 Commits

Author SHA1 Message Date
levlam
14eda7a97c Fix MpscPollableQueue:is_empty. 2023-04-30 16:54:55 +03:00
levlam
4b7c1aee03 Add and use Random::shuffle. 2023-04-19 10:02:34 +03:00
levlam
af54239018 Workaround MSVC 2015 compilation error. 2023-04-19 01:40:12 +03:00
levlam
d1c25f2135 Fix compilation error. 2023-04-04 16:39:20 +03:00
levlam
fd217d1b3e Add more BufferedFd logging. 2023-04-04 15:31:40 +03:00
levlam
4ee61aae2b Improve error messages and documentation. 2023-03-31 15:01:38 +03:00
levlam
511689877c Improve some log messages. 2023-03-22 19:29:33 +03:00
levlam
b5fe088574 Avoid the use of low-numbered file descriptors for sockets. 2023-03-21 13:54:43 +03:00
levlam
28362c1879 Avoid duplicate is_error() check in TRY_STATUS/TRY_RESULT. 2023-03-21 13:30:42 +03:00
levlam
489e5dbc62 Add debug logging. 2023-03-14 22:43:28 +03:00
levlam
7e4f349da8 Move EFAULT to the list of expected errors for ::read. 2023-03-09 00:05:44 +03:00
levlam
a8d0459827 Remove duplicated fields from log message. 2023-03-08 17:23:27 +03:00
levlam
d4646d4cd9 Minor improvements. 2023-03-06 16:59:18 +03:00
levlam
2c86bc719b Improve test assertion messages. 2023-03-02 17:35:57 +03:00
levlam
1c43f3844b Disallow to_string for bool. 2023-02-22 14:53:48 +03:00
levlam
22fdc0258b Use "receive"/"have"/"loaded" instead of "got" and other log message improvements. 2023-02-26 14:22:31 +03:00
levlam
ffcc1719ef Improve log message spelling. 2023-02-26 13:41:49 +03:00
levlam
ee4ecbc0be Avoid the use of low-numbered file descriptors. 2023-02-13 14:40:36 +03:00
levlam
852a1640b0 Fix FileFd::sync_barrier. 2023-02-10 15:17:07 +03:00
Arseny Smirnov
a0dd1e1a07 FileFd::sync_barrier uses F_BARRIERFSYNC on darwin 2023-02-10 12:17:56 +01:00
levlam
7eee3f469a Update clang-format to 16.0.0. 2023-02-08 15:28:36 +03:00
levlam
a08b1f9107 Use __is_trivially_copyable if possible. 2023-02-07 13:13:56 +03:00
levlam
0adcac246a Use explicit as_mutable_slice to get MutableSlice. 2023-02-02 17:40:47 +03:00
levlam
e2d079860d Add userinfo characters check. 2023-01-30 13:40:09 +03:00
levlam
587a882270 Don't remove emoji selectors in search_stickers. 2023-01-23 22:10:23 +03:00
levlam
345709f1ff Store StickerPhotoSize in unique_ptr to optimize Photo size. 2023-01-23 00:57:40 +03:00
levlam
201af22ef2 Add unique_value_ptr. 2023-01-22 23:36:30 +03:00
levlam
5b451f7e11 Allow redundant 0xFE0F after emoji. 2023-01-18 18:22:41 +03:00
levlam
1588f0d687 Return after call to on_error. 2023-01-18 17:10:08 +03:00
levlam
ad8f0c4146 Improve some spelling. 2023-01-16 12:59:43 +03:00
levlam
052d5e120b Improve some mixed-case spelling. 2023-01-15 11:25:54 +03:00
levlam
e87e18c8be Use busy-waiting instead of short Sleep on Windows. 2023-01-11 13:52:46 +03:00
levlam
853030e999 Don't use FILE_FLAG_OPEN_REPARSE_POINT with UWP. 2023-01-10 22:56:11 +03:00
levlam
137fd3beb9 Replace text in-place in parse_html. 2023-01-09 15:12:14 +03:00
levlam
0fb64f97a4 Use StringBuilder to create new string in parse_html. 2023-01-09 12:43:15 +03:00
levlam
d12ca158c4 Add constant methods to td::Container. 2023-01-06 14:54:54 +03:00
levlam
651f49fc90 Delete symbolic links in rmrf. 2023-01-05 16:46:39 +03:00
levlam
3573990d52 Support symbolic links in walk_path. 2023-01-04 17:25:30 +03:00
levlam
8df67f0c3a Add Stat.is_symbolic_link_. 2023-01-04 16:39:33 +03:00
levlam
903d994799 Improve punctuation. 2023-01-02 15:38:04 +03:00
levlam
8b763bedaf Move random_shuffle to tests.h. 2023-01-02 14:29:03 +03:00
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
b11a5b8ad4 Fix log size after rotation. 2022-11-29 17:39:46 +03:00
levlam
ed1457b69b Use std:🧵:native_handle() only for MSVC, because it is unsafe to assume native_handle_type otherwise. 2022-11-26 02:48:43 +03:00
Eric Kotato
b281a719fa
Fix MinGW threading compilation error (#2210) 2022-11-26 00:36:48 +03:00
levlam
276b654f27 Return back randomize_hash to WaitFreeHashMap. 2022-11-24 02:09:04 +03:00
levlam
af05db3f15 Add td::Hash and use it everywhere instead of unusable std::hash. 2022-11-23 19:37:32 +03:00
levlam
b1ddf9d3a7 Minor fixes. 2022-11-23 16:32:09 +03:00
levlam
8a73d14c0f Minor FloodControlFast improvements. 2022-11-23 00:45:17 +03:00
Arseny Smirnov
b9210f7f6d Rewrite FoodControlFast: now it uses a bucket logic 2022-11-22 15:59:01 +01:00
levlam
0eefb331f8 Improve size formatting. 2022-11-22 14:50:10 +03:00
levlam
f53cf540b7 Use WaitFreeHashMap to store poll messages. 2022-11-22 12:58:07 +03:00
levlam
468edb4d61 Use double timestamps in FloodControlStrict. 2022-11-21 21:07:56 +03:00
levlam
f4c1247327 Minor FloodControlStrict improvements. 2022-11-21 20:52:12 +03:00
levlam
44df11cfcf Decrease maximum size of wait-free hash tables. 2022-11-21 18:12:26 +03:00
levlam
f1ee808465 Fix warning. 2022-11-18 15:19:01 +03:00
levlam
47aa5b51c7 Improve log guard. 2022-11-18 14:33:23 +03:00
levlam
f8e2af3f59 Rename size() to calc_size() for WaitFree hash tables. 2022-11-18 13:16:24 +03:00
levlam
35a9a4b785 Make WaitFreeHashSet recursive. 2022-11-18 13:08:04 +03:00
levlam
e7b7217256 Make WaitFreeHashMap recursive. 2022-11-18 12:53:26 +03:00
levlam
a1f19371b0 Improve to_integer_safe error message. 2022-11-18 00:25:36 +03:00
levlam
59d4248efb Add voluntary spin lock for logging to reduce conflicts with stderr. 2022-11-14 14:34:31 +03:00
levlam
97f14fb6a9 Fix remove_emoji_modifiers. 2022-11-11 22:20:38 +03:00
levlam
8b4bc80860 Fix AsyncFileLog building without threads. 2022-11-09 14:48:14 +03:00
levlam
ab14065168 Improve fatal error handling in AsyncFileLog. 2022-11-07 14:59:18 +03:00
levlam
e11804b5b0 Don't truncate logs after rotation. 2022-11-01 14:13:14 +03:00
levlam
8c694cd3d3 Improve TimedStat value after long pause. 2022-11-01 14:03:20 +03:00
levlam
5217a86e0d Support redirect_stderr in AsyncFileLog. 2022-10-15 10:17:42 +03:00
levlam
ee28a37906 Minor improvements. 2022-10-12 15:59:58 +03:00
levlam
683627a350 Make all operator bool const and nonexcept. 2022-10-09 19:30:18 +03:00
levlam
7f5f6e41ad Minor improvements. 2022-10-09 19:00:14 +03:00
levlam
5a29dcd337 Avoid redundant usages of Status::error(). 2022-10-09 14:15:54 +03:00
levlam
78ba8fa983 Add AsyncFileLog. 2022-10-09 13:04:57 +03:00
levlam
f12b2f5efe Fix warning. 2022-10-08 20:54:58 +03:00
levlam
4af5c4f5dd Add logging for slow logging to file. 2022-10-05 23:55:50 +03:00
levlam
e984706622 Add td:🧵:get_id(). 2022-10-04 22:48:55 +03:00
levlam
628b8901bc Optimize logging to NULL on Windows. Fixes #2112.
It is possible to do only about 100 writes to NULL per second, which is about 8-80 times less than even performance of writes to a console app.
2022-10-03 15:11:23 +03:00
levlam
10680fe353 Minor improvements. 2022-10-03 14:39:20 +03:00
levlam
8f0ffd0a65 Reduce MAX_STORAGE_SIZE for wait free hash tables to reduce split_storage time. 2022-09-30 16:38:11 +03:00
levlam
ee04923ce1 Add lazy initialization for keyword_stickers_map_. 2022-09-27 16:16:36 +03:00
levlam
66dca9a510 Update emoji to 15.0. 2022-09-27 14:28:08 +03:00
levlam
99a2ffdcec Update Unicode tables to 15.0. 2022-09-27 14:22:30 +03:00
levlam
4a6e0aea43 Add utf8_prepare_search_string. 2022-09-27 14:16:09 +03:00
levlam
b3e16c5dd7 Use the same template recursively for instant view links. 2022-09-26 19:24:39 +03:00
levlam
faa738d6a9 Keep only Slice overload of utf8_utf16_substr. 2022-09-22 12:08:34 +03:00
levlam
5c5d19e76f Increase 8 times number of WaitFreeMap storages. 2022-09-22 07:13:17 +03:00
levlam
b6db8a66ec Remove dangerous Timestamp::store. 2022-09-21 14:25:31 +03:00
levlam
275ee280d2 Use thread-local EVP_MD_CTX in OpenSSL 3.0. 2022-09-19 18:17:51 +03:00
levlam
cb70993b90 Fix buggy behavior of pthread_setaffinity_np/pthread_getaffinity_np on NetBSD. 2022-09-17 23:25:42 +03:00
levlam
9bf5d57851 Add TD_HAVE_THREAD_AFFINITY macros. 2022-09-17 21:58:00 +03:00
levlam
b8abc6c19e Support CPU affinity on NetBSD. 2022-09-17 21:48:16 +03:00
levlam
b47fce0d95 Support CPU affinity on FreeBSD. 2022-09-17 14:45:42 +03:00
levlam
9d5c151a3f Use DWORD as thread::id on Windows. 2022-09-17 13:21:04 +03:00
levlam
0cc3fb0e9d Include pthread.h on OpenBSD for pthread_t definition. 2022-09-17 01:37:05 +03:00
levlam
0025c4164b Add internalLinkTypeInstantView. 2022-09-16 01:30:54 +03:00
levlam
b49b669ac1 Support affinity mask on Linux. 2022-09-14 15:33:16 +03:00
levlam
0eddd8d405 Add thread::set_affinity_mask/get_affinity_mask. 2022-09-14 14:38:14 +03:00
levlam
5f98548e02 Use STL thread only on Windows. 2022-09-14 14:19:09 +03:00
levlam
273ae92a14 Use HANDLE as thread id on Windows. 2022-09-14 14:18:42 +03:00
levlam
03db53281c Remove this_thread::yield for TD_THREAD_UNSUPPORTED. 2022-09-14 14:10:33 +03:00