2005年2月6日の日記の3番目の記事へのコメント
■xmms-scrobbler
xmms-scrobbler,ソースは大変読みやすいです.だけど,何かやってることが変な気がします.たとえば,以下のようなコードがあったりするんですが,q_lenが0だと・・・.
pthread_mutex_lock(&mutex); if (!q_len()) return; if (sc_submit_timeout < time(NULL) && sc_bad_users < 3) { sc_submitentry(); sc_submit_timeout = time(NULL) + sc_submit_interval; } pthread_mutex_unlock(&mutex);
他にも,何か他のスレッドが使っている可能性がある変数を,join呼ぶ前にfreeしてみたりとか,なんかもう結構すごかったので,あちこち手を突っ込んでみました.
とりあえず,HTTPで通信している間にxmmsを終わらせようとすると引っかかる問題は,pthread_cancelで強制終了させるようにして対処してみました.ただ,曲リストをサーバにsubmitしている間は,それが完了するまでcancel要求ペンディングさせざるを得ないんで,起動直後以外の引っかかりには効果が無かったり.submitに番号つけてて,最後にサーバが受け付けたsubmitの番号を後で取り出せるようなプロトコルにでもなってればいつでも切れるかと思うんですけどねー.
ただ,まだ終了時にタイミングによってはxmmsがセグる問題が解決してなかったり.あと,特定の曲(ファイル名?)だとタグ取り出すところでセグります.萎える・・・.ていうかそうまでしてAUDIOSCROBBLER使いたいのかというと・・・_|‾|○ .
[コメントを書く]
2005年2月6日の日記の3番目の記事へのコメント
[コメントを書く]