cs136 / seashell

Seashell is an online environment for editing, running, and submitting C programming assignments.
GNU General Public License v3.0
38 stars 19 forks source link

Pseudoterminal support in the backend for interactive programs. #599

Closed e45lee closed 7 years ago

e45lee commented 7 years ago

This PR replaces the old pipe code used for interactive I/O with code that uses pseudoterminals. Most of the changes are isolated and small -- the runner now sends Ctrl-D (EOF) instead of closing the write end of the pipe, and the frontend no longer echos the input sent to it (as the TTY does it for us).

This is partial progress towards resolving #444.