Home > Unix Archive
Unix Archive
flock(2)はスレッドも排他するか?
- 2007-05-26 (Sat)
- Unix

以前人づてに、flock(2)がプロセス間排他はするけどスレッド間排他はしないという話を聞いた。
これが本当だと、今まで自分が書いたマルチスレッドアプリケーションのファイルを扱う部分の根幹が揺らいでしまう。特にファイルが壊れたりするような現象は見られなかったので今まで放置してきたが、非常に心配になってきたので調べてみた。
- Comments: 3
- Trackbacks: 0
spliceシステムコールの使い方
- 2007-05-18 (Fri)
- Unix

Linux 2.6.17より導入された新しいシステムコールである「splice(2)」を使ったファイルコピープログラムを作ってみました。
参考: C言語: UNIX最速ファイルコピー
参考: splice(2) - splice data to/from a pipe
- Comments: 2
- Trackbacks: 0
pthread_mutex_unlock忘れ
- 2007-02-18 (Sun)
- Unix

[code]
static int
func1(void)
{
pthread_mutex_lock(&mutex);
int r = func2();
if (is_error(r)) {
return -1;
}
pthread_mutex_unlock(&mutex);
return 0;
}
[/code]
この手のバグは本当に取りづらい。具合が悪い事に、あるサービス用のクライアントライブラリだったのでこのコードを使っている全てのインスタンスが数十時間後にdeadlockで止まった。
func1がネットワークがらみのコードだったので、偶然ネットワークが不調になってエラーになり、次にこの関数に突入したときに固まったようである。
今回は人の目にお世話になって、debug出来た。なんでこの場所に限ってRAIIを使わなかったのだろう(自分)…。
- Comments: 0
- Trackbacks: 0
PTHREAD_MUTEX_ERRORCHECK_NP
- 2007-02-15 (Thu)
- Unix

pthreadのmutexではpthread_mutex_initでattributeが付けられますが、PTHREAD_MUTEX_ERRORCHECK_NPというattributeが有るのを見つけたので適当に浅追いしてみました。
- Comments: 2
- Trackbacks: 0
Multicore Programming Primerが面白すぎる
- 2007-01-30 (Tue)
- Unix

MITの「Multicore Programming Primer」というコースの資料が面白すぎます。
Multicore Programming Primer
- Comments: 1
- Trackbacks: 0
Home > Unix Archive
-
- May 2010
- February 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
