Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.
Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.
Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.
Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.
Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.
FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.
Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.
O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.
Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy
… více »
template<typename T>
class CancelableThreadData
{
protected:
bool _is_cleanup;
T* _data;
static void _cleanup_func(void* d);
public:
template<typename... T_args>
CancelableThreadData(T_args... args);
~CancelableThreadData();
T* operator->() { return _data; }
const T* operator->() const { return _data; }
T& operator*() { return *_data; }
const T& operator*() const { return *_data; }
};
template<typename T>
void CancelableThreadData<T>::_cleanup_func(void* d)
{
((CancelableThreadData<T>*)(d))->_is_cleanup = true;
((CancelableThreadData<T>*)(d))->~CancelableThreadData();
}
template<typename T>
template<typename... T_args>
CancelableThreadData<T>::CancelableThreadData(T_args... args)
{
_is_cleanup = false;
_data = new T(args...);
pthread_cleanup_push(_cleanup_func, (void*)_data);
}
/* Line 272 */template<typename T>
CancelableThreadData<T>::~CancelableThreadData()
{
if (!_is_cleanup) pthread_cleanup_pop(0);
delete _data;
}
Výstup gcc:
Thread.h: In constructor ‘BurnLib::CancelableThreadData<T>::CancelableThreadData(T_args ...)’: Thread.h:272:10: error: expected ‘while’ before ‘<’ token Thread.h:272:10: error: expected ‘(’ before ‘<’ token Thread.h:272:10: error: expected primary-expression before ‘<’ token Thread.h:272:20: error: expected nested-name-specifier before ‘T’ Thread.h:272:20: error: expected ‘(’ before ‘T’ Thread.h:272:20: error: expected ‘)’ before ‘T’ Thread.h:272:20: error: expected ‘;’ before ‘T’ Thread.h:272:21: error: expected unqualified-id before ‘>’ token
Řešení dotazu:
Tak ten manual zahodte a poridte si lepsi:
These functions may be implemented as macros. The application shall ensure that they appear as statements, and in pairs within the same lexical scope (that is, the pthread_cleanup_push() macro may be thought to expand to a token list whose first token is '{' with pthread_cleanup_pop() expanding to a token list whose last token is the corresponding '}' ).
. Nakonec pak skončim u assembleru, kde budu alespoň vědět, co se stane
Unlike some other implementations of threads, C++ destructors for automatic objects are allowed to run in a well defined and consistent manner when a thread is terminated.
....
When a thread terminates, the following occurs: If the thread was ended using pthread_exit(), pthread_cancel() or return from the thread start routine, then cancellation cleanup handlers and data destructors are run.
The thread is terminated. At the time that the thread is terminated, both C++ destructors for automatic objects and AS/400 cancel handlers run.
) mi řeknou, že to můžou být makra ...
Tiskni
Sdílej: