def sendeof(self):

        """This sends an EOF to the child. This sends a character which causes
        the pending parent output buffer to be sent to the waiting child
        program without waiting for end-of-line. If it is the first character
        of the line, the read() in the user program returns 0, which signifies
        end-of-file. This means to work as expected a sendeof() has to be
        called at the beginning of a line. This method does not send a newline.
        It is the responsibility of the caller to ensure the eof is sent at the
        beginning of a line. """

        ### Hmmm... how do I send an EOF?
        ###C  if ((m = write(pty, *buf, p - *buf)) < 0)
        ###C      return (errno == EWOULDBLOCK) ? n : -1;
        #fd = sys.stdin.fileno()
        #old = termios.tcgetattr(fd) # remember current state
        #attr = termios.tcgetattr(fd)
        #attr[3] = attr[3] | termios.ICANON # ICANON must be set to recognize EOF
        #try: # use try/finally to ensure state gets restored
        #    termios.tcsetattr(fd, termios.TCSADRAIN, attr)
        #    if hasattr(termios, 'CEOF'):
        #        os.write (self.child_fd, '%c' % termios.CEOF)
        #    else:
        #        # Silly platform does not define CEOF so assume CTRL-D
        #        os.write (self.child_fd, '%c' % 4)
        #finally: # restore state
        #    termios.tcsetattr(fd, termios.TCSADRAIN, old)
        if hasattr(termios, 'VEOF'):
            char = termios.tcgetattr(self.child_fd)[6][termios.VEOF]
        else:
            # platform does not define VEOF so assume CTRL-D
            char = chr(4)
        self.send(char)
def sendeof(self):

        

        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        if hasattr(termios, 'VEOF'):
            char = termios.tcgetattr(self.child_fd)[6][termios.VEOF]
        else:
            
            char = chr(4)
        self.send(char)
def sendeof ( self ) : ### Hmmm... how do I send an EOF? ###C  if ((m = write(pty, *buf, p - *buf)) < 0) ###C      return (errno == EWOULDBLOCK) ? n : -1; #fd = sys.stdin.fileno() #old = termios.tcgetattr(fd) # remember current state #attr = termios.tcgetattr(fd) #attr[3] = attr[3] | termios.ICANON # ICANON must be set to recognize EOF #try: # use try/finally to ensure state gets restored #    termios.tcsetattr(fd, termios.TCSADRAIN, attr) #    if hasattr(termios, 'CEOF'): #        os.write (self.child_fd, '%c' % termios.CEOF) #    else: #        # Silly platform does not define CEOF so assume CTRL-D #        os.write (self.child_fd, '%c' % 4) #finally: # restore state #    termios.tcsetattr(fd, termios.TCSADRAIN, old) if hasattr ( termios , 'VEOF' ) : char = termios . tcgetattr ( self . child_fd ) [ 6 ] [ termios . VEOF ] else : # platform does not define VEOF so assume CTRL-D char = chr ( 4 ) self . send ( char )
This sends an EOF to the child. This sends a character which causes
        the pending parent output buffer to be sent to the waiting child
        program without waiting for end-of-line. If it is the first character
        of the line, the read() in the user program returns 0, which signifies
        end-of-file. This means to work as expected a sendeof() has to be
        called at the beginning of a line. This method does not send a newline.
        It is the responsibility of the caller to ensure the eof is sent at the
        beginning of a line.
This sends an EOF to the child . This sends a character which causes the pending parent output buffer to be sent to the waiting child program without waiting for end - of - line . If it is the first character of the line the read () in the user program returns 0 which signifies end - of - file . This means to work as expected a sendeof () has to be called at the beginning of a line . This method does not send a newline . It is the responsibility of the caller to ensure the eof is sent at the beginning of a line .