|GNU. Grargh. Today's GNU software of ire; gdb. It's all very nice and reasonably designed for a command-line interface, but when it causes pthread_join and pthread_detach, which "guarantee that the memory resources consumed by the thread will be freed immediately when the thread terminates" to not have the memory resources consumed by the thread be freed at all until the debugger exits, it is irksome. I spent five hours trying to find a way for the zombie process to be removed, before stumbling upon a Google reference which was someone griping about gdb causing this problem. Running it without gdb, the program was working fine. Tsk. Perhaps this blog entry will help someone similarly in future.