const int* p1 = ...; // константный указатель
int* const p2 = ...; // указатель на константу
int const * p1;
int const * const p3;
cppreference ничего не говорит про видимость, только про атомарность, т.е., что изменение происходит целиком или не происходит вообще.
из чего это следует?
Что здесь обозначено словом "синхронизировать"?
Какие выводы можно сделать из такого теста, если он не показывает ощибок?
2 потока не могут одновременно блокировать handle
void writer(data d) {
atomic_fetch_add(v1, 1);
write(d);
atomic_fetch_add(v2, 1);
}
data reader() {
int lv1, lv2;
data d;
do {
lv2 = atomic_load(v2);
d = read();
lv1 = atomic_load(v1);
} while(lv1 != lv2);
return d;
}
rdpwrap сломали еще лет 5 назад
Общий ответ: иди к админу договариваться.
UDP/9 порт - это видимо Wake-On-LAN. Формально это, конечно discard, но на практике WOL его использует.
Если хост получатель внутри сети - к админу.
Если хост получатель в интернете - могут быть варианты с промежуточным ВПНом по 443 порту и через него выход на хост получатель по 9 порту.