[Mew-dist 15205] Re: Old Emacs & Old OS の問題点

Atsushi Onoe onoe at example.com
2000年 11月 29日 (水) 15:16:46 JST


> > select() しか使えないと関数にしないとだめか。
> 
> 以前も出ましたが、select() のタイムアウトを使うのではだめなんでしょう
> か?

良い。#define で usleep() の置き換えができないだけ。

static inline int
usleep(usecond_t microsecond)
{
	struct timeval tout;

	tout.tv_sec  = microsecond / 1000000;	/* XXX: should be EINVAL */
	tout.tv_usec = microsecond % 1000000;
	return select(0, 0, 0, 0, &tout);
}

くらい?
1秒以上を指定したら EINVAL まで実装しようと思ったら poll も #define じゃ
済まないけど。

> しかし、poll の第一引数は、0 でいいの?

第2引数(nfds)が 0 なら第1引数(pointer of array)は参照されないから何でも
良いはず。
	library spec としては指定されたアドレスから 0 byte しか読んじゃ
	いけないので、事実上アクセスしてはいけない。

尾上



Mew-dist メーリングリストの案内