Link: Threads Cannot be Implemented as a Library

I've already linked to this in passing , but I'm going to rerun itas an explicit link. Threads Cannot be Implemented as a Library by HansBoehm makes the argument in its title:

We provide specific arguments that a pure library approach, in whichthe compiler is designed independently of threading issues, cannotguarantee correctness of the resulting code.

There is also a discussion of this paper at Lambda the Ultimate that may be interestingreading. On a quick skim of the LtU discussion thread, thisUsenet article


Solaris's impressive ABI compatibility

There are some things that Solaris is very good at; one of them isuser-level ABI compatibility (at least for basic programs). As anillustration of just how good it is, I only recently noticed that on ourSolaris 8 machines I am still routinely using some dynamically linkedprograms compiled in August of 1993 (which is probably when this groupstarted using Solaris machines).

I hadn't noticed before now because the programs hadn't really changedsince then (so I had no


2007,點搞都得


新的一年
第一件事是想一想這個blog的去向

有沒有發現
曾經熱心寫blog的許多朋友
現在更新的速度大不如前
在網誌熱潮最盛時
人人都開一個blog
大家開開心心寫了幾個月
可能漸漸會覺得無事可記
讀者流失
熱情減退
最重要是這件事被主流

談 2006 Blog事回顧

先賣一賣廣告: MySinaBlog 出書 《Why We Blog》 ,當中有近年 Blog 大事表,小弟有份寫,不過主要寫是 2005 年的。合寫的 Hang Sidekick 則已經分別發表了《2006 年香港 Blog 事回顧》,在此轉載:

  1. Blogger出書 ( JAN 2006) 出版社主動接洽Middle,將他的

2006 個人電影列表

依樣葫蘆 ,回看 2006 看過的上映電影:

Jan

Feb


A (Solaris 8) automounter irritation

Here's an automounter irritation that keeps biting us: on fileservers,the Solaris 8 automounter is not smart enough to notice when anunderlying /export/ mount point has been unmounted.

If it gets a request for the filesystem, it 'mounts' things anyways,which then fouls up various aspects of, say, remounting the realfilesystems. It is remarkably difficult to persuade the automounter tolet go so that you can restore things to normality, and you can't justshoot the entire automounter


Weekly spam summary on December 30th, 2006

The SMTP frontend died twice late Friday night, to my irritation.That said, this week we:

  • got 9,806 messages from 186 different IP addresses.
  • handled 15,551 sessions from 916 different IP addresses.
  • received something over 204,995 connections from at least58,611 different IP addresses.
  • hit a highwater of at least 6 connections being checked at once.

The message count is down dramatically from last week because this week


無聊才上網

假日早上
無聊
找一些無聊影片
讓同齡人懷舊


山西竹葉青
家計會
金冠米
水上樂園
珠江橋牌玉冰燒
九廣鐵路
陽光
和記
不在乎天長地久
高空擲物

或者你都有上網找來看
或者你對這些廣告印象很深
很多年過去了
再看這些畫面
一切都彷如昨

逝去感情如何留得住

年近歲晚
送上本人精選的 心情片段
2006年發生咩都好
留不住了
笑一笑
明年再來吧

What can go wrong if your compiler is not thread aware

Courtesy of Pete Zaitcev ,here's a great example of what happens when optimizing compilers aren'tthread aware.

Start with code of the form:

struct a b;
b.pos = *ppos;ret = foo(&b, ..., b.pos);

Modern versions of gcc 4 on x86 will optimize the function call into:

ret = foo(&b, ..., *ppos );

(This is a less stupid optimization than it looks; ppos