nvi - Work around problem with git
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 19 Feb 2010 00:32:39 +0000 (16:32 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 19 Feb 2010 00:32:39 +0000 (16:32 -0800)
commitd5259c7eeb46c2eeb3f47774c27ec0ec705e9234
treee1daa6d2b1c44cd80c02a73272bc7e44691db7df
parent3735e368a1bdbe773c79c34512f49c905ff77bd7
nvi - Work around problem with git

* When a vi session managed by a git commit is ^Z'd and then resumed, git
  for some reason will set STDIN to O_NONBLOCKING.  Not only will it do
  this, but the git process will do it in parallel with the resume so
  the point at which stdin becomes non-blocking from the point of view
  of vi is completely non-determinisitc.

* Do an end-run around badly behaving parent processes by using extpread()
  to explicitly override the blocking/non-blocking mode.  Now nvi doesn't
  care whether stdin is in non-blocking mode or not.
contrib/nvi/cl/cl_read.c
test/test/baaz