2007-02-05から1日間の記事一覧

/dev/bpfをreadした場合、データグラム単位になっているか?

BSD

NetBSD 1.6.2 Releaseのソースしか見てませんが、答えを先に言うと、データグラム単位です。 はっきりした仕様なのか、実装の都合なのかはわかりません。man bpfを見ても、いまいち載ってなかったので、 bpfドライバの実装を見ることに。ソースはこの2つを見…

セミコルーチンの実装(x86 only)

C

手っ取り早く、手ぬきで実装するとこんな感じになります。 他のマシンで実行したい場合は、jmp_bufの中身をよく観察して、適切なインデックスに突っ込めば、大抵OKです。 #include <stdio.h> #include <stdlib.h> #include <setjmp.h> typedef struct co { void (*proc)(void); jmp_buf jb</setjmp.h></stdlib.h></stdio.h>…