I found 2 bugs in my previous single copy pipe version: * Could deadlock on the mmap_semaphore with multithreaded apps. * It doesn't follow the atomicity requirements with blocking transfers if a signal arrives. SuS isn't 100% clear, but FreeBSD and Tru64 guarantee it. I've uploaded the new patches to http://www.colorfullife.com/~manfred/linux-2.5/kiopipe/ * patch-pgw: enum_user_pages - helper function for getting 'struct page*' from virtual addresses, and use it for access_process_vm and map_user_kiobuf. net 62 lines removed ;-) * patch-kiopipe: actual single copy pipe, not tuned. based on patch-pgw. * patch-expand: unrelated. Unfortunately kiopipe is visible to broken user space aps. (run test5.cpp - it stalls with kiopipe, but finishes on all other Unix versions I tested) patch-pgw is attached - it simplifies access_process_vm and map_user_kiobuf. I'd apreciate any comments. -- Manfred