ToDo:
http://gihyo.jp/admin/clip/01/linux_dt/201212/28
via https://twitter.com/kazuho/status/285042604670861314
ioctl で ENOENT は man にも無いしいかにもよろしくなりそうな感じだけどカーネルよくわからんから知らない。もうファイル開いてるのにオカしいでしょ、ってのはわかるんだけど、こないだ sysctl が ENOTDIR 返すって知ってびっくりしたんだよな… sysfs 的なものの ENOTDIR て感じなのかな。
こんなコードで
#define _GNU_SOURCE #include <errno.h> #include <stdio.h> #include <string.h> #include <sys/syscall.h> #include <unistd.h> #include <linux/sysctl.h> int _sysctl(struct __sysctl_args *args); int main() { struct __sysctl_args args; memset(&args, 0, sizeof(args)); int name[] = { 999, 999 }; args.name = name; args.nlen = sizeof(name) / sizeof(name[0]); syscall(SYS__sysctl, &args); perror("_sysctl"); return 0; }
Not a directory と言われてびびる。しかし今 64bit でやってみたら ENOSYS だ。おかしいなまあ深追いはいいや…
で、後のフォローアップによると ENOENT は userland に返すつもりじゃなくて、内部コードとして使ってただけのつもりだった、みたいなことを言ってる。それならまあだいぶ許せる気がする。まあでもたぶん返しちゃってたぽいし、スジ悪そうではある。
ところで、平謝りしてるメンテナのメールもスレッドに見当たらないし、メンテナの地位がどうこうという話も見ないんだけど
(01:29)
http://gihyo.jp/admin/clip/01/linux_dt/201206/18
ついでにこっちも見た。おもしろいな。
youtube の方はその後で一応他の会社も完璧てわけじゃないよってフォローした後の、みんな僕みたいにいい人ばっかりならいいのにとか、まあ気がきいてる感じだなぁとか
なんか git の話聞いた時も思ったけど話がうまいんだろうな…
(01:45)
前 | 2012年 12月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。