- I/O multiplexing (the select() and poll() system calls);
- signal-driven I/O; and
- the Linux-specific epoll API.
63.1 Overview
63.1.1 Level-triggered and Edge-triggered Notification
63.1.2 Employing Nonblocking I/O with Alternative I/O Models
63.2 I/O Multiplexing
63.2.1 The select() System Call
63.2.2 The poll() System Call
63.2.3 When Is a File Descriptor Ready?
63.2.4 Comparison of select() and poll()
63.2.5 Problems with select() and poll()
63.3 Signal-driven I/O
63.3.1 When Is "I/O Possible" Signaled?
63.3.2 Refining the Use of Signal-driven I/O
63.4 The epoll API
63.4.1 Creating an epoll Instance: epoll_create()
63.4.2 Modifying the epoll Interest List: epoll_ctl()
63.4.3 Waiting for Events: epoll_wait()
63.4.4 A Closer Look at epoll Semantics
63.4.5 Performance of epoll Versus I/O Multiplexing
63.4.6 Edge-triggered Notification
63.5 Waiting on Signals and File Descriptors
63.5.1 The pselect() System Call
63.5.2 The Self-pipe Trick
63.6 Summary
63.7 Exercises
No comments:
Post a Comment