Все как в условии, через буфер, все данные пишутся, все потоки закрываются, что валику не нравится?