#SSD は書き込める回数に制限があるそうなので、ログ出力には向かないんじゃないかな。
#いま仕事で作ってるサーバは SSD を使っていますが、「できるだけ書き込まないで」と言われています(笑)。
#もしかして、cond_waitするならmutex_unlockもcleanup_pushしとけということかも?
#glibcのnptlの__pthread_cond_waitは中でcleanup handlerを設定しているけど、そのhandlerの最後で
#mutexをロックしているようにみえる。
#ちなみに(2)はnanosleep前後で自分でtestcancel()なりを呼べばcancelされると思います
#(昨日、sys-nanosleepのあとに(sys-close -1)を呼べばancelできたので)
#> cond_waitするなら…
#でも、cond_waitの中でmutexはunlockされるわけで、cancelされた時にmutexがどっちの状態になってるかはcallerには知りようがないですよねぇ…
#なので、例えばglibcはそれをより内側のcleanup handlerでlockすることで確定してるのではないでしょうか?
#あ、なるほど。cond_waitから「(cancelだろうと通常のreturnだろうと)出た」状態ではmutexがlockされている、とするわけですね。
#そうそう
#確かにそうすべきだなあ。とするとあとはcaller側でcleanupハンドラを噛ませるということか。
#cancelはあんまり考えてなかったんだけど、async cancellationやるなら原則としてmutex_lock/unlockのペアについて全部対応しないとまずそうですね。
#linuxでも稀に起きるというのも、linuxではほとんどのばあいにcond waitから抜けていたのかも。
#ああそうかそうか。それでcleanupでDEADLKチェックやってるけど、デフォルト状態のmutexだと自分自身がロックしてるmutexを再ロックしようとするとエラーが上がらずに単にブロックするだけだったっけ。
#それなら説明がつくな。
##人柱を募集しているらしい>VirtualBox for FreeBSD
#ちなみに、現状のgaucheはcanceltype deferredですよね。これからasyncに変えるということですか?
#あれ、deferredだったっけ。asyncのつもりでいた。
#そんで「やっぱasync危ないからdeferredにしなきゃなあ、どこ変えないといけないかなあ」というのを頭の隅っこで考えていた
#確かdefaultはdeferredだったような
#で、gaucheなにもしてなさそうなので、deferredかなと。
#Programming Clojureキター
#でも個人的には同時に届いた今剛の2nd Albumの方が大事(笑)
#コンピュータ関係の本買うのって久しぶりだ(注文したのはだいぶ前だが)
#コンソールの前でちょっとうたた寝して、目を覚ましたらあんまり時間が経ってなくてほっとした。
#さらに作業に熱中してしばらくしてまた時間を見たら、時計が進んでない。
#gnome-panelごと固まっていた…
#(きっかけがよくわからないんだけど、たまに固まるんだよね…gnome-panel)
#画面に頭突きしたりしなくて何よりでした
#わたしはよくやります
#画面に頭突き&キーボードに頭突き
#Ruby 界隈で Rip というのが出て来てるみたいですね
##ところで最近 SPON ってどうなってるんでしょう?(放ったらかしですいません
#月曜日に注文したMacBook Proが出荷された。クロネコヤマト上海だって。いま使ってるMacBookのときは台湾だった。
#仮想環境機能って魅力的かも
#私もそれには興味を持った>仮想環境機能 pythonの方が先行しているようだが
#Clojure のコードを Java から呼び出すことはできるのかな。だとしたら仕事でも使えるかも?