V linuxových systémech byly odhaleny dvě závažné zranitelnosti – CVE-2025-6018 v rámci PAM (Pluggable Authentication Modules) a CVE-2025-6019 v knihovně libblockdev, kterou lze zneužít prostřednictvím služby udisks. Ta je součástí většiny běžně používaných distribucí, jako jsou Ubuntu, Debian nebo Fedora. Kombinací obou zranitelností může útočník s minimálním úsilím získat root přístup. Vzhledem k jednoduchosti zneužití
… více »OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.
Něco z IT bulváru: Mark Russinovich pozval Billa Gatese, Linuse Torvaldse a Davida Cutlera na večeři a zveřejnil společné selfie. Linus se s Billem ani s Davidem do té doby nikdy osobně nesetkal. Linus a David měli na sobě červená polotrika. Mark a Bill byli v tmavém [LinkedIn].
Evropská unie nově prověřuje obchod, při němž americký miliardář Elon Musk prodal svou sociální síť X dříve známou jako Twitter vlastnímu start-upu xAI za 33 miliard dolarů (712 miliard Kč). Unijní regulační úřady zvažují, zda firmě X neudělit pokutu podle nařízení Evropské unie o digitálních službách (DSA).
Vývojáři postmarketOS vydali verzi 25.06 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 9.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.
Byla vydána nová verze 5.2.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
XLibre Xserver je fork X.Org Serveru. Enrico Weigelt včera oznámil vydání verze 25.0 se slovy "tento fork je nezbytným, protože je výslovným přáním většiny současné skupiny X.Org (IBM / Red Hat) opustit projekt, nechat ho navždy shnít a blokovat jakékoli podstatné příspěvky, natož nové funkce".
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Experti na kybernetickou bezpečnost potvrdili (en) největší dosud zaznamenaný únik dat. Hackeři při něm odkryli skoro 16 miliard přihlašovacích údajů z celého světa včetně účtů společností Google, Apple, Facebook, dalších sociálních sítí nebo některých serverů státní správy.
int rc; if (rc = pthread_attr_init(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_init() failed! ret = %d, %s\n", rc, strerror(rc)); } if (stack_size > 0) { if (rc = pthread_attr_setstacksize(&attr, stack_size) != 0) { fprintf(stderr, "ERROR: pthread_attr_setstacksize() failed! ret = %d, %s\n", rc, strerror(rc)); } } scheduler_start(curl, &attr); if (rc = pthread_attr_destroy(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_destroy() failed! ret = %d, %s\n", rc, strerror(rc)); }Přes mnoho pokusů se mi prostě nedaří a nevím, jak to správně zadeklarovat v mé funkci a předat.
void scheduler_init(CURL *ch, const pthread_attr_t *attr)Díky za pomoc.
Řešení dotazu:
#include <stdio.h> typedef struct { int vek; } osoba_t; void vypis_vek(osoba_t *osoba) { printf("Vek osoby: %d.\n", osoba->vek); } int main() { osoba_t osoba; osoba.vek=5; vypis_vek(&osoba); return 0; }
pthread.h:226:12: note: expected 'const union pthread_attr_t * __restrict__' but argument is of type 'const union pthread_attr_t **' extern int pthread_create (pthread_t *__restrict __newthread, ^ cc1: all warnings being treated as errors Makefile:134: recipe for target 'all' failed make[3]: *** [all] Error 1
#include <stdio.h> #include <pthread.h> #include <string.h> void scheduler_start(pthread_attr_t *attr) { } int main() { pthread_attr_t attr; int rc; int stack_size=50; if ((rc = pthread_attr_init(&attr)) != 0) { fprintf(stderr, "ERROR: pthread_attr_init() failed! ret = %d, %s\n", rc, strerror(rc)); } if (stack_size > 0) { if (rc = pthread_attr_setstacksize(&attr, stack_size) != 0) { fprintf(stderr, "ERROR: pthread_attr_setstacksize() failed! ret = %d, %s\n", rc, strerror(rc)); } } scheduler_start(&attr); if (rc = pthread_attr_destroy(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_destroy() failed! ret = %d, %s\n", rc, strerror(rc)); } }
scheduler_start
předáváš attr
do pthread_create
zase jako &attr
. Tj. ukazatel na ten ukazatel, což je samozřejmě blbě.
Možná... pravděpodobně... na to aspoň vypadá ta chybová hláška. Tebe nenapadne, že by bylo dobré ukázat, co přesně děláš a na čem to řve, protože vůbec netušíš, co děláš. Tak si aspoň nevymýšlej nesmysly o tom, co bys taky napsal. Když nechápeš ukazatele, tak se o vlákna ani nepokoušej, protože to prostě nemužeš udělat správně. A protože tahle tvoje krávovina vlákna k ničemu nepotřebuje, tak je z toho konečně vyjeb.
Side note: rc
nebude obsahovat návratovou hovnotu z pthread_attr_init()
(jak mylně naznačuje chybová hláška použití strerror()
), nýbrž výsledek pohovnání návratové hovnoty s nulou, tedy vždy 0 nebo 1, páč 7 versus 14. V tomhle případě to sice nehraje (skoro) žádnou roli, ale pro pořádek by tam mělo být if ((rc = pthread_attr_init(&attr)) != 0) { ... }
.
Tiskni
Sdílej: