add flock
add pipe
add poll