Ecco il mio problema... ho un applicazione con una GUI fatta in GTK+. Se forko all'interno del programma (cioè non subito nel main.. ma dopo) mi si sdoppia anche la GUI e tutto il resto?
Io vorrei semplicemente fare eseguire una sola funzione contemporaneamente al programma, la funzione deve convertire delle immagini e concludere l'esecuzione alla fine della conversione, ritornando, se possibile, qualcosa che faccia capire al programma se è andato tutto bene o no.
Ho pensato anche ai thread, ma ho letto che usando la libreria pthread vengono creati thread user level, e poichè devo fare chiamate bloccanti, mi bloccherebbero anche il resto del programma. Come posso fare per creare thread kernel level? (e risucire a capire quando un thread ha terminato l'esecuzione leggendo, ad esempio, un valore di ritorno?)
Se dal thread che creo non tocco la memoria del programma "principale" non ho bisogno di usare semafori, giusto?