Miten saan OpenGL sovelluksessa säikeen (pthread) tuhottua (ettei tule defunctia) jos käyttäjä sulkee sovelluksen esimerkiksi oikean yläkulman ruksista. Kutsuuko sovellus jotain cleanup funktiota jota voisin muokata? (Linux, freeglut)
OpenGL ja säikeet
Kysymys~
5480
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 5
Vanhimmat
OpenGL ei ole itse säikeinen otus vaan puhdas graffa kirjasto.. Sillä ei tapeta mitään säikeitä, eikä itseasiassa sillä ole myöskään mitään tekemistä yläkulman ruksin kanssa..
FreeGlut:in dokumentaatiosta kyllä varmaankin löytyy mitä kutsutaan/tapahtuu kun ikkuna suljetaan.. Varmaan jokin event järjestelmä takaa löytyy..
"OpenGL ei ole itse säikeinen otus vaan puhdas graffa kirjasto.."
Ei pidä paikkaansa. OpenGL on täynnä säikeitä omasta takaa. Kysymyksenä oli että jos luon säikeen ja pääsäie lopetetaan niin mitä tehdä.
"myöskään mitään tekemistä yläkulman ruksin kanssa.."
Millä ei ole tekemistä? Tietysti on tekemistä. OpenGL vastaa ikkunan tuhoamisesta ja eritoten operaatioista jotka suoritetaan ennen ikkunan tuhoamista.
"FreeGlut:in dokumentaatiosta"
Vaan kun ei löydy, dokumentointi on todella surkea. Jos olisi löytynyt en täältä olisi kysynyt.
Tarkoitin puhua glutista.
Säikeet tuhoutuvat samalla kun "pää"-ohjelma tapetaan, koska ne "pyörivät" samassa ainokaisessa prosessissa. Lue vaikkapa tuo:
http://www-128.ibm.com/developerworks/linux/library/l-posix1.html
Taisin sekoittaa säikeet ja lapsiprosessit keskenään.