Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »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: