Notifying user-mode as soon as a packet arrives

view story

http://stackoverflow.com – (This is for a low latency system) Assuming I have some code which transfers received UDP packets to a region of shared memory, how can I then notify the application (in user mode) that it is now time to read the shared memory? I do not want the application continuously polling eating up cpu cycles. Is it possible to insert some code in the network stack which can call my application code immediately after it has written to the shared memory? EDIT I added a C tag, but the application would be in C++ (HowTos)