Size: a a a

2020 August 14

CD

Constantine Drozdov in rust_offtopic
polunin.ai
data race разве UB?
Зависит от того, что ты делаешь, разумеется
источник

Ct

Casual tears in rust_offtopic
но самый простейший случай - да
источник

Т8

Т-34 85 in rust_offtopic
red75prime
дедлок - не ub
да?

If the mutex is currently locked by the same thread calling this function, it produces a deadlock (with undefined behavior). See recursive_mutex for a mutex type that allows multiple locks from the same thread.

http://www.cplusplus.com/reference/mutex/mutex/lock/
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Там написано, что
std::mutex m;
m.lock();
m.lock();

UB
Если ты не прочитал документацию к функции у тебя уже проблема
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
Зависит от того, что ты делаешь, разумеется
Ну когда он уб тогда
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
дедлок не UB в крестах же
^
источник

Ct

Casual tears in rust_offtopic
polunin.ai
data race разве UB?
data race еще как UB
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Ну когда он уб тогда
Вот доступ к данным из-за abandon в мьютексе потому что ты под блокировкой грохнулся имея захваченный именованный мьютекс - точно UB в сейфкоде в Rust
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
Если ты не прочитал документацию к функции у тебя уже проблема
Нельзя помнить всё и вся всегда
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
нет. Например переполнение знаковых чисел уб в плюсах и не уб в расте
переполнение знакового - это дедлок?
источник

Ct

Casual tears in rust_offtopic
Или можно прочитать, но дедлока не заметить
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Нельзя помнить всё и вся всегда
Именно так. Поэтому ты открываешь документацию и читаешь, читаешь, читаешь
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
Вот доступ к данным из-за abandon в мьютексе потому что ты под блокировкой грохнулся имея захваченный именованный мьютекс - точно UB в сейфкоде в Rust
ты уже который раз эти абандонед мьютексы суешь. Причем насколько я понимаю, это чисто виндовая штука
источник

Ct

Casual tears in rust_offtopic
они достаточно сложные бывают
источник

r

red75prime in rust_offtopic
Т-34 85
да?

If the mutex is currently locked by the same thread calling this function, it produces a deadlock (with undefined behavior). See recursive_mutex for a mutex type that allows multiple locks from the same thread.

http://www.cplusplus.com/reference/mutex/mutex/lock/
Это UB, которое может привести к дедлоку. Дедлок - это когда потоки из-за неправильного использования примитивов синхронизации останавливают выполнение навсегда
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ты уже который раз эти абандонед мьютексы суешь. Причем насколько я понимаю, это чисто виндовая штука
я не знаю, что будет в линуксах, думаю ничего хорошего от прерванной "атомарной" операции там тоже не будет
источник

CD

Constantine Drozdov in rust_offtopic
инвариант в области памяти сломан и всё
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
Вот доступ к данным из-за abandon в мьютексе потому что ты под блокировкой грохнулся имея захваченный именованный мьютекс - точно UB в сейфкоде в Rust
Если ты не можешь получит доступ к мьютексу, происходит паника же
источник

Т8

Т-34 85 in rust_offtopic
red75prime
Это UB, которое может привести к дедлоку. Дедлок - это когда потоки из-за неправильного использования примитивов синхронизации останавливают выполнение навсегда
а в расте это и без уб может произойти, да?
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
Вот доступ к данным из-за abandon в мьютексе потому что ты под блокировкой грохнулся имея захваченный именованный мьютекс - точно UB в сейфкоде в Rust
что значит "грохнулся"?
источник