Nisam spomenuo keyboard thread

Dakle, kada ukucam exit, iz keyboard thread-a se zovne f-ja server_shutdown(), koja pozatvara sve otvorene konekcije, i pogasi sve thread-ove (prvo ih probudi sa mutex_unlock, pa oni sami izadju, znace NE ubijam ih).
Kad se konekcije zatvore, thread-ovi pogase, onda izadjem i iz keyboard thread-a, znaci ostane mi samo glavna nit, i to je to, tu me ceka accept()
Ili da accept stavim u poseban thread, pa da ga kill-ujem, ili da napravim klijent unutar samog servera koji ce da odblokira accept (ovo zvuci skroz sasavo

).
E, mene interesuje postoji li neko elegantnije resenje?
Ne pravi mi se poseban thread samo za accept, jer vec imam i keyboard thread, i plus 5 threada koji po defaultu cekaju klijenta...