Commit 924298a
Allow micview to exit cleanly on Linux (#527)
This change fixes a bug where micview would hang when the user presses 'q' to
exit, and you'd have to kill -9 the process to make the window go away.
On Linux, with at least the radeon graphics driver, glutCreateWindow appears to
spawn several child threads for shaders, a disk cache, and something else:
si_shader:0
si_shader:1
si_shader:2
si_shader:3
disk_cache:0
radeon_cs:0
These threads appear to keep the process as a whole from exiting when
pthread_exit() is called. The solution is to call glutDestroyWindow(), which
will cause glutMainLoop() to return, which causes main() to return cleanly.1 parent 4d2fede commit 924298a
1 file changed
+5
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| |||
149 | 151 | | |
150 | 152 | | |
151 | 153 | | |
152 | | - | |
| 154 | + | |
| 155 | + | |
153 | 156 | | |
154 | 157 | | |
155 | 158 | | |
| |||
205 | 208 | | |
206 | 209 | | |
207 | 210 | | |
208 | | - | |
| 211 | + | |
209 | 212 | | |
210 | 213 | | |
211 | 214 | | |
| |||
0 commit comments