1.libc implementation 2.blocking receive