Problemer med tråde
Hejsa.jeg arbejder på et program der skal indeholde to tråde der kommunikerer over en fifo-queue. Den ene tråd skal simulere hardware, og hente data fra en test-fil i pakker. Disse skal den sende til fifoen. Her henter den anden tråd pakkerne, udtrækker data og sender den i første omgang til stdout eller en fil. dette har virket (og de er jo i virkeligheden ikke så mange ben i det.) MÆÆÆN! jeg har nu tilføjet en kontrol-tråd, der opretter de to andre omtalte tråde. denne bliver instansieret fra main, dvs fire tråde ialt inkl main right..? her kommer problemet: kommunikationen over fifo ser ud til at virke, dvs. jeg kan uden problemer skrive fifo-outputtet fra tråd 2 til skærm, og det der udskrives stemmer overens med det der blev lagt i køen. Men filen står derimod urørt hen! den bliver oprettet, men der bliver ingenting skrevet! men koden til skrivning virker, for hvis jeg undlader den første tråd til simulering, og istedet lader tråd to generere data til fifoen og herefter udtrækker dem, skrives der fint til filen.....! hvordan kan den ekstra første tråd til simulering ødelægge skrivning til en fil i et andet scope?
puha, nok roman men en sidste kommentar: Hver gang jeg starter hele programmet umiddelbart efter en genstart (af fedora iøvrigt), laves der segmentation fault 11. hvis jeg umiddelbart efter prøver igen, kører programmet tilsynedladende fint men der bliver som nævnt ikke skrevet til filen. Regner med at denne fejl har noget med sagen at gøre men ikke hvad...måske noget memory, der ikke er helt styr på eller?
kommentar 2: jeg beskytter min kø med en pthread_mutex. Både kø og mutex er defineret 'extern'.