def close(self):
self._lock.acquire()<EOL>try:<EOL><INDENT>self._closed = True<EOL>self._cv.notifyAll()<EOL>if self._event is not None:<EOL><INDENT>self._event.set()<EOL><DEDENT><DEDENT>finally:<EOL><INDENT>self._lock.release()<EOL><DEDENT>
Close this pipe object.  Future calls to `read` after the buffer
has been emptied will return immediately with an empty string.