diff --git a/examples/idle.py b/examples/idle.py
index <HASH>..<HASH> 100644
--- a/examples/idle.py
+++ b/examples/idle.py
@@ -4,10 +4,15 @@
 #
 #http://www.musicpd.org/doc/protocol/ch02.html#id525963
 #Example
+from select import select
 
 client.send_idle()
-select([client], [], [])
-changed = client.fetch_idle()
+# do this periodically, e.g. in event loop
+canRead = select([client], [], [], 0)[0]
+if canRead:
+    changes = client.fetch_idle()
+    print(changes) # handle changes
+    client.send_idle() # continue idling
 
 #You can also poll the socket FD (returned by client.fileno(), which is called by default by select, poll, etc.) using other tools too.
Improved the idle.py example.

It now becomes clear what to do with the output of select(), and how
to call that function properly.