| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
| |
Fix move constructors when used std::string instead of TString
|
|
|
| |
Forbid PEERDIR-ing Google Benchmark from modules other than G_BENCHMARK.
|
| |
|
|
|
|
|
|
|
|
| |
Выбирается общий тип, а не тип значения в мапе (но не ссылка, потому что auto), что позволяет писать код в духе:
```cpp
TMaybe<int> Foo(THashMap<long, int>& map, long key) {
return map.Value(key, TMaybe<int>());
}
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
platform
При сборке проектов с ```--sanitize=thread``` под **darwin**, по умолчанию попадет ```util``` и его часть ```system/context.h```, где в случае ```thread_sanitizer_enabled``` выставляется ```USE_UCONTEXT_CONT```, что приводит к использованию [депрекейтнутного](https://opensource.apple.com/source/libplatform/libplatform-125/include/ucontext.h.auto.html) ```<ucontext.h>``` из [macos_sdk](https://a.yandex-team.ru/arcadia/build/platform/macos_sdk/ya.make?rev=rXXXXXX#L6).
Без должных изменений, сборка падает с ошибкой.
```In file included from /Users/hiddenpath/.ya/build/build_root/fnjm/000128/util/all_system_1.cpp:13:
In file included from /Users/hiddenpath/arcadia/util/system/context.cpp:31:
In file included from /Users/hiddenpath/arcadia/util/system/context.h:46:
/Users/hiddenpath/.ya/tools/v4/2088833948/usr/include/ucontext.h:51:2: error: The deprecated ucontext routines require _XOPEN_SOURCE to be defined
#error The deprecated ucontext routines require _XOPEN_SOURCE to be defined
^
In file included from /Users/hiddenpath/.ya/build/build_root/fnjm/000128/util/all_system_1.cpp:13:
In file included from /Users/hiddenpath/arcadia/util/system/context.cpp:31:
/Users/hiddenpath/arcadia/util/system/context.h:68:9: error: use of undeclared identifier 'getcontext'
getcontext(&Ctx_);
^
/Users/hiddenpath/arcadia/util/system/context.h:72:9: error: use of undeclared identifier 'getcontext'
getcontext(&Ctx_);
^
/Users/hiddenpath/arcadia/util/system/context.h:80:9: error: use of undeclared identifier 'makecontext'
makecontext(&Ctx_, (ucontext_func_t)ContextTrampoLine, 1, c.TrampoLine);
^
/Users/hiddenpath/arcadia/util/system/context.h:87:9: error: use of undeclared identifier 'swapcontext'
swapcontext(&Ctx_, &next->Ctx_);
^
5 errors generated.
Failed
|
| |
|
| |
|
| |
|
|
|
| |
There is no reason now to hide include behind macro: we have sysincls properly working for years
|
|
|
|
| |
directory does not exist.
|
|
|
| |
Update tools: yexport
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
https://paste.yandex-team.ru/804bf63f-d433-481e-945b-b555fb15be21
не светилось на CI'ных сборках.
Разбираться с автосборкой будут в
|
|
|
|
| |
to have heap allocations when joining ints to string
|
|
|
| |
Update tools: yexport
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Update tools: yexport
|
| |
|
| |
|
|
|
| |
К сожалению, люди успели наплодить переменных и методов c именами i64(), ui64(), поэтому для генеренного кода проще всего оказалось завести несколько type alias arc_ui64 -> ui64, и так далее.
|
| |
|
| |
|
|
|
| |
Update tools: yexport
|
| |
|
|
|
|
| |
TStringBuf (with &&)
|
|
|
| |
Update tools: yexport
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By [RFC3629 section 3](https://datatracker.ietf.org/doc/html/rfc3629#section-3):
```
The definition of UTF-8 prohibits encoding character numbers between
U+D800 and U+DFFF, which are reserved for use with the UTF-16
encoding form (as surrogate pairs) and do not directly represent characters.
```
Current implementation of `ReadUTF8CharAndAdvance` allows `UTF-8` encoded surrogate characters
like 0xED 0xA0 0xBD or 0xED 0xB3 0x9A leaving them in the strings
that cannot be processed afterwards by external programs like `iconv`.
This patch provides `strict` template flag that disables this leniency.
This flag is not enabled by default, because Arcadia already has hundreds of
tests with inputs containing such surrogate pairs and these tests breaks in strict mode
and there is a chance that prod might affected too.
SSE4 implementation doesn't perform any validation at all, so it is left unchanged.
|
|
|
|
|
|
| |
По следам https://a.yandex-team.ru/review/2996409/details
Исправлены случаи при неудачных кастах:
1. контрольный блок дёргается даже при указании на nullptr (нехорошо для атомиков)
2. если исходный шаред поинтер разрушится раньше, чем полученный nullptr (например, при возврате из функции), то ресурс утечёт
|
|
|
|
| |
returning double value
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- don't hide epoll_ctl add errors;
- print "fd" and "what" args.
|
|
|
|
|
| |
Контекст. В древнем странном коде обнаружили, что если создавать `TThreadPool` часто и конкуретно с запуском `TShellCommand`, то иногда последняя дедлочится: если начали выполнять конструктор `TThreadPool` и регистрацию в `TAtforkQueueRestarter`, захватив `TAtforkQueueRestarter::ActionMutex`, а в другом потоке параллельно сделали `fork`, то последний может форкнуться с залоченым мьютексом. Первым делом происходит вызов коллбеков из `pthread_atfork`, где мьютекс лочится заново.
Конечно, форкаться в сложных программах с тредпулами категорически запрещено, но, подозреваю, много кода в аркадии так написано. Давайте как-то защитимся от такого.
|
| |
|
| |
|
|
|
| |
`#define noexcept throw()` is a questionable idea, since replacing `noexcept` with `throw()` in expressions such as `noexcept(true)` results in spectacular compiler errors. We stopped supporting CUDA 8 (and even CUDA 9) long ago, which means we can just get rid of the problematic define.
|
| |
|
| |
|