August 2010

キャンセル待ちがうじゃうじゃいるからASAPで返事をしろと書いてあるが、旅費のアテが
まったくないのにそんなの出来ない(´・ω・`)

あと、場所が Cambridge, MA (Plumberと併設)ってのもマイナスで・・・東海岸はボストンで
こりごりだよ的な。主に飛行機の時間的な意味で
このエントリーをはてなブックマークに追加

一番盛り上がったのはMatthew Wilcox がもってきたネイティブ4KセクタなIntelの試作品ドライブ
欲しい人にあげるよーって発言した時だったな。全員目つきが変わってた。

むしろ議論が盛り上がらなさすぎだ
このエントリーをはてなブックマークに追加

http://www.phoronix.com/scan.php?page=news_item&px=ODQ3Mw

色々あって、近年のLinuxは IO heavyな状態にするとdesktopがキビキビうごかなくなるという問題があって
みんなで死ね死ねメールを飛ばしあってパッチ作ってたら、全然知らないエンドユーザから感謝メールとどくし
まだマージされてないのに phoronix.com に飛ばし記事が載るわで大変な事に

忙しいんだから、もう許して・・・
このエントリーをはてなブックマークに追加

http://udrepper.livejournal.com/21541.html

Ulrichがpthread_cancel()とC++は混ぜるなキケンになってるけど、オレは正しいんだ正しいんだ正しいんだ。
という趣旨のブログを書いております。

以下いつものように(主に笑いをとるための)超訳。正確な情報が欲しい人は元URLを読んでくださいませ。



#include <cstdlib>
#include <iostream>
#include <pthread.h>

static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t c = PTHREAD_COND_INITIALIZER;

static void *tf (void *)
{
try {
::pthread_mutex_lock(&m);
::pthread_cond_wait (&c, &m);
} catch (...) {
// do something
}
}

int main ()
{
pthread_t th;
::pthread_create (&th, NULL, tf, NULL);
// do some work; simulate using sleep
std::cout << "Wait a bit" << std::endl;
sleep (1);
// cancel the child thread
::pthread_cancel (th);
// wait for it
::pthread_join (th, NULL);
}


pthread_cacnel()は内部実装にC++例外を使ってる。だから、このようなコードは
tf() で pthread_cond_wait() から上がってきた秘密のglibc専用例外をキャッチしてしまい、
かつ、例外のrethowをしていないので、C++界の重罪、rethrow忘れの罪によりプロセスは
abortしてしまう


$ ./test
Wait a bit
FATAL: exception not rethrown
Aborted (core dumped)



正しい直し方は gcc specialな <cxxabi.h> をインクルードして、同じくスペシャルな
abi::__forced_unwind& をrethrowすることだよ。以下のように


@@ -1,6 +1,7 @@
#include
#include
#include
+#include

static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t c = PTHREAD_COND_INITIALIZER;
@@ -11,6 +12,8 @@
try {
::pthread_mutex_lock(&m);
::pthread_cond_wait (&c, &m);
+ } catch (abi::__forced_unwind&) {
+ throw;
} catch (...) {
// do something
}


cxxabi.h はたしかgcc 4.3以降で提供されてるはず。
まあ、こんなの以下のマクロで一発解決できるんだから問題のうちにも入らないよ

#define CATCHALL catch (abi::__forced_unwind&) { throw; } catch (...)

だから、オレは直さなくていいよね。

オレは正しいんだ正しいんだ正しいんだ。
このエントリーをはてなブックマークに追加

ノースカロライナ州大学(なの?)から$50あげるからアンケートに答えてよってメールが来た。
開発者のコラボレーションについてLinux Kernelを題材にしたケーススタディを作りたいらしい。へー。

日本の大学だとこういう実社会をリサーチしてケーススタディつくるってのは、あんまりなさそうなので
ちょっと感心した。


Hi,
We are software engineering researchers at North Carolina State University, studying developer collaboration in open source projects. We are currently doing a case study of the Linux kernel, and we are inviting you to take a short, 10-minute online survey about working in open source.

The survey is customized to you and your team, personally. Do not be alarmed - we obtained your email and other information from public sources, primarily from git.kernel.org. We are also sending this email to over 200 other developers working on the Linux kernel.

Each person who completes this survey is entered into a drawing to win a $50 gift certificate to Amazon.com. Additionally, by taking this survey, you will also get the satisfaction of helping a PhD student finish his dissertation :)

Below is the link to access this survey. Note that this url is customized to you only, so please do not share this link with anyone else.

Here is the url:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

or, if the direct link doesn't work, go to http://agile.csc.ncsu.edu/xxxxxxxxxxxxx and use the following information:

User: xxxxxxxxxxxxxx
Password: xxxxxxxxxxxxx

If you can, please complete this survey by August 9th, 2010. At that time, we may contact you one more time to conduct a brief follow-up interview. Feel free to contact me at this email address if you have any questions. Thank you!

Sincerely,
Andy Meneely and Laurie Williams

http://www4.ncsu.edu/xxxxxxxxxxxxxx
http://collaboration.csc.ncsu.edu/xxxxxxxxxxx


このエントリーをはてなブックマークに追加

-rc6 からいきなりリリースされてしまった。
linusの子供の休みの関係で -rcの進みが遅かったけど、それはリリースの遅れにはさせずに
rcを強引に打ち切るという判断になったのだな。ふむ。



Date: Sun, 1 Aug 2010 22:59:02 GMT
From: Linux Kernel Mailing List
To: git-commits-head@vger.kernel.org
Subject: Linux 2.6.35


Gitweb: http://git.kernel.org/linus/9fe6206f400646a2322096b56c59891d530e8d51
Commit: 9fe6206f400646a2322096b56c59891d530e8d51
Parent: 77a63f3d1e0a3e7ede8d10f569e8481b13ff47c5
Author: Linus Torvalds
AuthorDate: Sun Aug 1 15:11:14 2010 -0700
Committer: Linus Torvalds
CommitDate: Sun Aug 1 15:11:14 2010 -0700

Linux 2.6.35
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 886bf04..141da26 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 35
-EXTRAVERSION = -rc6
+EXTRAVERSION =
NAME = Sheep on Meth

# *DOCUMENTATION*
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html


このエントリーをはてなブックマークに追加

↑このページのトップヘ