<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/gen/popen.c, branch release/4.2.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2000-11-20T04:41:45+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2000-11-20T04:41:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0d497cf6e989f7498cf5036a29fe7003a89abf83'/>
<id>0d497cf6e989f7498cf5036a29fe7003a89abf83</id>
<content type='text'>
'RELENG_4_2_0_RELEASE'.

This commit was manufactured to restore the state of the 4.2-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_4_2_0_RELEASE'.

This commit was manufactured to restore the state of the 4.2-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify sytem call renaming.  Instead of _foo() &lt;-- _libc_foo &lt;-- foo(),</title>
<updated>2000-01-27T23:07:25+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-01-27T23:07:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9233c4d9426e03b28e043baeefb6d5a37dc4086e'/>
<id>9233c4d9426e03b28e043baeefb6d5a37dc4086e</id>
<content type='text'>
just use _foo() &lt;-- foo().  In the case of a libpthread that doesn't do
call conversion (such as linuxthreads and our upcoming libpthread), this
is adequate.  In the case of libc_r, we still need three names, which are
now _thread_sys_foo() &lt;-- _foo() &lt;-- foo().

Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(),
nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo().

Remove all internal libc usage of: creat(), pause(), sleep(), system(),
tcdrain(), wait(), and waitpid().

Make thread cancellation fully POSIX-compliant.

Suggested by:	deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
just use _foo() &lt;-- foo().  In the case of a libpthread that doesn't do
call conversion (such as linuxthreads and our upcoming libpthread), this
is adequate.  In the case of libc_r, we still need three names, which are
now _thread_sys_foo() &lt;-- _foo() &lt;-- foo().

Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(),
nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo().

Remove all internal libc usage of: creat(), pause(), sleep(), system(),
tcdrain(), wait(), and waitpid().

Make thread cancellation fully POSIX-compliant.

Suggested by:	deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Add three-tier symbol naming in support of POSIX thread cancellation</title>
<updated>2000-01-12T09:23:48+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-01-12T09:23:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=929273386f6e688c008b15fd24932df2ed7e7172'/>
<id>929273386f6e688c008b15fd24932df2ed7e7172</id>
<content type='text'>
points.  For library functions, the pattern is __sleep() &lt;--
_libc_sleep() &lt;-- sleep().  The arrows represent weak aliases.  For
system calls, the pattern is _read() &lt;-- _libc_read() &lt;-- read().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
points.  For library functions, the pattern is __sleep() &lt;--
_libc_sleep() &lt;-- sleep().  The arrows represent weak aliases.  For
system calls, the pattern is _read() &lt;-- _libc_read() &lt;-- read().
</pre>
</div>
</content>
</entry>
<entry>
<title>Conform to POSIX and close any copies of popen() descriptors inherited by a</title>
<updated>1998-10-15T01:47:40+00:00</updated>
<author>
<name>Mike Smith</name>
<email>msmith@FreeBSD.org</email>
</author>
<published>1998-10-15T01:47:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=26c51fb453bc1d2a482f487eead3e755452e463c'/>
<id>26c51fb453bc1d2a482f487eead3e755452e463c</id>
<content type='text'>
popen()ed child.

PR:		misc/7810
Submitted by:	Wayne Scott &lt;wscott@ichips.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
popen()ed child.

PR:		misc/7810
Submitted by:	Wayne Scott &lt;wscott@ichips.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid the need for calling functions that malloc after a vfork().</title>
<updated>1998-10-11T14:11:51+00:00</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1998-10-11T14:11:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0c372549f6cc3fb5753f29bbc6989c9d6ce5d165'/>
<id>0c372549f6cc3fb5753f29bbc6989c9d6ce5d165</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>vfork -&gt; fork.  The child calls execl() which calls malloc(), so</title>
<updated>1998-10-10T19:30:45+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-10-10T19:30:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0890dc6f446e4a9316b8360784052bb90e4be1c9'/>
<id>0890dc6f446e4a9316b8360784052bb90e4be1c9</id>
<content type='text'>
vfork() can't be used.  We could use alloca() in execl() so that
it can be called between vfork() and execve(), but a "portable"
popen() shouldn't depend on this.  Calling execle() instead of
execl() should be fairly safe, since execle() is supposed to be
callable from signal handlers and signal handlers can't call
malloc().  However, execle() is broken.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vfork() can't be used.  We could use alloca() in execl() so that
it can be called between vfork() and execve(), but a "portable"
popen() shouldn't depend on this.  Calling execle() instead of
execl() should be fairly safe, since execle() is supposed to be
callable from signal handlers and signal handlers can't call
malloc().  However, execle() is broken.
</pre>
</div>
</content>
</entry>
<entry>
<title>FIxed the cleanup.  I forgot to leave stdin alone in the usual (!twoway)</title>
<updated>1997-04-22T09:44:06+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-04-22T09:44:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2b9ac168ecf8a7023527303c4dd0c1f475f90c21'/>
<id>2b9ac168ecf8a7023527303c4dd0c1f475f90c21</id>
<content type='text'>
case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean-up my modification of popen.c for vfork.  Bruce's (this) is better.</title>
<updated>1997-04-20T20:17:04+00:00</updated>
<author>
<name>John Dyson</name>
<email>dyson@FreeBSD.org</email>
</author>
<published>1997-04-20T20:17:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5ae9116a7d7889483ed1fe8d54bcff6b11bdf6f8'/>
<id>5ae9116a7d7889483ed1fe8d54bcff6b11bdf6f8</id>
<content type='text'>
Submitted by:	Bruce Evans &lt;bde@freebsd.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Submitted by:	Bruce Evans &lt;bde@freebsd.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the problem in popen that makes correct vfork semantics fail.</title>
<updated>1997-04-16T03:26:50+00:00</updated>
<author>
<name>John Dyson</name>
<email>dyson@FreeBSD.org</email>
</author>
<published>1997-04-16T03:26:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1174d9f9dfe613d756c9725322d964c93d756eb1'/>
<id>1174d9f9dfe613d756c9725322d964c93d756eb1</id>
<content type='text'>
Specifically, popen modifies a variable "pdes[1]" in the child
in such a way that it breaks code in the parent (due to the address
space sharing.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifically, popen modifies a variable "pdes[1]" in the child
in such a way that it breaks code in the parent (due to the address
space sharing.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed cleaning up after malloc failure, which was broken by Lite2.</title>
<updated>1997-03-11T18:51:43+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-03-11T18:51:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=035e5608d5ecb705f0a9e9992ef0f7bd704470b4'/>
<id>035e5608d5ecb705f0a9e9992ef0f7bd704470b4</id>
<content type='text'>
We don't use socketpair(), so don't #include &lt;sys/socket.h&gt;.

Restored some gcc-quieting parentheses that were lost in the Lite2 merge.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't use socketpair(), so don't #include &lt;sys/socket.h&gt;.

Restored some gcc-quieting parentheses that were lost in the Lite2 merge.
</pre>
</div>
</content>
</entry>
</feed>
