宣言は
__thread static char *buf;
エラーメッセージは
'__thread' before 'static'
です。

あともう一つ質問があるのですが・・・。
linuxでpthread_createで作ったスレッドを呼び出した親から殺したいんです。
仕様上、作ったスレッドで長い時間Sleepを使ってるのですが、それでちょっと色々不便してまして。。
親から自由なタイミングで子スレッドを殺すにはどうすればいいのでしょうか?
子スレッドの方ではmallocとか自分でメモリ確保してないのでいつ殺しても問題ない状態です。