<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/usr.bin/window/wwspawn.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-06-02T13:44:36Z</updated>
<entry>
<title>Remove window(1) from the base system.</title>
<updated>2009-06-02T13:44:36Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2009-06-02T13:44:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=89f98d57d6cf835561ff5ed328881e339d42e3b3'/>
<id>urn:sha1:89f98d57d6cf835561ff5ed328881e339d42e3b3</id>
<content type='text'>
Some time ago Tom Rhodes sent me an email that he was willing to perform
various cleanups to the window(1) source code. After some discussion, we
both decided the best thing to do, was to move window(1) to the ports
tree. The application isn't used a lot nowadays, mainly because it has
been superseeded by screen, tmux, etc.

A couple of hours ago Tom committed window(1) to ports (misc/window), so
I'm removing it from the tree. I don't think people will really miss it,
but I'm describing the change in UPDATING anyway.

Discussed with:	trhodes, pav, kib
Approved by:	re
</content>
</entry>
<entry>
<title>Include proper header files for system functions that are used and</title>
<updated>2009-02-19T20:07:59Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2009-02-19T20:07:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b3ba0b1ed28a49851eace85605721658dddcc518'/>
<id>urn:sha1:b3ba0b1ed28a49851eace85605721658dddcc518</id>
<content type='text'>
that gcc complains about this code changing from the built-in
versions.
</content>
</entry>
<entry>
<title>Fix the rcsid's.</title>
<updated>2001-05-17T09:38:49Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-05-17T09:38:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2f8b721157b825a04df115df2eef5ac385154df1'/>
<id>urn:sha1:2f8b721157b825a04df115df2eef5ac385154df1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>While I'm here and got caught by it, add FreeBSD IDs so the next guy</title>
<updated>2000-10-26T10:07:20Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2000-10-26T10:07:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9e1ade7750536b2a3c7d9697572918a3760a96a3'/>
<id>urn:sha1:9e1ade7750536b2a3c7d9697572918a3760a96a3</id>
<content type='text'>
won't have trouble committing his bits.
</content>
</entry>
<entry>
<title>Make window(1) actually work again.  It has been broken for quite some</title>
<updated>1999-03-02T19:08:09Z</updated>
<author>
<name>Joerg Wunsch</name>
<email>joerg@FreeBSD.org</email>
</author>
<published>1999-03-02T19:08:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d7a28702a3a8748d9b72416e9f14cca98db8af88'/>
<id>urn:sha1:d7a28702a3a8748d9b72416e9f14cca98db8af88</id>
<content type='text'>
time now.

For whatever reason, the kernel seems to have generated SIGIOs
previously without an initial fcntl(...,F_SETOWN), but does no longer.
This caused window(1) to wait indefinitely for input.

Also, undo rev 1.3 of wwspawn.c, it was not well-thought, and
apparently not even tested at all.  The blindly (even in a nonsensical
place like the comment on top of the function) applied replacement of
vfork() by fork() totally ignored that window(1) *does* abuse the
feature of vfork() where a modification of the parent's address space
is possible (in this case, to notify the parent of an erred exec*).
Also, with vfork(), it is guaranteed that the parent is only woken up
after the exec*() happened, where the replacement by fork() made the
parent to almost always become runnable again before the child, in
which case the parent simply told `subprocess died'.  Unfortunately,
working around _this_ seems to be a lot more of redesign work compared
to little gained value, so i think relying on the specifics of vfork()
is the simpler way.

Submitted by:	Philipp Mergenthaler &lt;un1i@rz.uni-karlsruhe.de&gt;
</content>
</entry>
<entry>
<title>One vfork() changed to fork(); one execl() changed to execv(). The</title>
<updated>1998-10-13T15:14:37Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>1998-10-13T15:14:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=202bab39443927344a530fc91a945eb062046fb0'/>
<id>urn:sha1:202bab39443927344a530fc91a945eb062046fb0</id>
<content type='text'>
latter isn't actually called as far as I can see since FreeBSD uses
termcap and not terminfo.
</content>
</entry>
<entry>
<title>Use &lt;signal.h&gt; instead of &lt;sys/signal.h&gt;.</title>
<updated>1998-08-05T09:01:29Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>1998-08-05T09:01:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f1598784ae5f6ec062ea5c8167d960ad47baacff'/>
<id>urn:sha1:f1598784ae5f6ec062ea5c8167d960ad47baacff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BSD 4.4 Lite Usr.bin Sources</title>
<updated>1994-05-27T12:33:43Z</updated>
<author>
<name>Rodney W. Grimes</name>
<email>rgrimes@FreeBSD.org</email>
</author>
<published>1994-05-27T12:33:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9b50d9027575220cb6dd09b3e62f03f511e908b8'/>
<id>urn:sha1:9b50d9027575220cb6dd09b3e62f03f511e908b8</id>
<content type='text'>
</content>
</entry>
</feed>
