<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libc/gen/exec.c, branch release/4.7.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F4.7.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F4.7.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2002-10-08T05:39:08Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2002-10-08T05:39:08Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2002-10-08T05:39:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e1b05e3a6cd90b0bf91b47aeff71da2a9d048a9d'/>
<id>urn:sha1:e1b05e3a6cd90b0bf91b47aeff71da2a9d048a9d</id>
<content type='text'>
'RELENG_4_7_0_RELEASE'.

This commit was manufactured to restore the state of the 4.7-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>Simplify sytem call renaming.  Instead of _foo() &lt;-- _libc_foo &lt;-- foo(),</title>
<updated>2000-01-27T23:07:25Z</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-01-27T23:07:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9233c4d9426e03b28e043baeefb6d5a37dc4086e'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Add three-tier symbol naming in support of POSIX thread cancellation</title>
<updated>2000-01-12T09:23:48Z</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-01-12T09:23:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=929273386f6e688c008b15fd24932df2ed7e7172'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>$Id$ -&gt; $FreeBSD$</title>
<updated>1999-08-28T00:22:10Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-08-28T00:22:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7f3dea244c40159a41ab22da77a434d7c5b5e85a'/>
<id>urn:sha1:7f3dea244c40159a41ab22da77a434d7c5b5e85a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a (relatively harmless) braino.  I confused myself over the for() loop</title>
<updated>1999-03-24T02:43:05Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-03-24T02:43:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5fe5a4dd73c51768c4521f60735f0619ae7730aa'/>
<id>urn:sha1:5fe5a4dd73c51768c4521f60735f0619ae7730aa</id>
<content type='text'>
that counted the number of elements in argv.  The counter is incremented
in the next-iteration section of the loop, not the body, so at termination
it's already "counted" the element that failed the continuation test - in
this case the NULL argv terminator.

Noted by:  bde
</content>
</entry>
<entry>
<title>Remove last remaining references to malloc/realloc and functions that</title>
<updated>1999-03-23T16:40:34Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-03-23T16:40:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ce04fea4452e71a6da05a6b89fb0c020f02947a1'/>
<id>urn:sha1:ce04fea4452e71a6da05a6b89fb0c020f02947a1</id>
<content type='text'>
call them.  All the execX() libc functions should be vfork() safe now.
Specifically:
- execlp() does the argument count-and-build into a vector from alloca
    (like the others) - buildargv() is no longer used (and gone).
- execvp() uses alloca/strcpy rather than strdup().
- the ENOEXEC handler uses alloca rather than malloc.
- a couple of free() calls removed - alloca works on the local stack and
    the allocations are freed on function exit (which is why buildargv
    wasn't useful - it's alloca() context would disappear on return).
Along the way:
- If alloca() fails (can it?), set errno = ENOMEM explicitly.
- The ENOEXEC recovery routine that trys again with /bin/sh appeared to
    not be terminating the new argv[] array for /bin/sh, allowing it to
    walk off the end of the list.

I dithered a bit about using alloca() even more as it's most commonly
associated with gcc.  However, standalone portable (using malloc) and
machine-specific assembler alloca implementations appear to be available
on just about all the architectures we're likely to want to port to.
alloca will be the least of our problems if ever going to another compiler.
</content>
</entry>
<entry>
<title>Fix style issues in execl(), and make execle() vfork()-safe.</title>
<updated>1998-10-15T17:14:15Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>1998-10-15T17:14:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=af806462dc8cadb926b382e595fe95cf91a12f98'/>
<id>urn:sha1:af806462dc8cadb926b382e595fe95cf91a12f98</id>
<content type='text'>
Reviewed by:	bde
Approved by:	jkh
</content>
</entry>
<entry>
<title>Correct braino in previous commit. I get the pointy hat again.</title>
<updated>1998-10-14T20:23:40Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>1998-10-14T20:23:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7ea577e550d414341bd84d7bed58f938d48f3c13'/>
<id>urn:sha1:7ea577e550d414341bd84d7bed58f938d48f3c13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make execl() vfork()-safe. This should fix potential bugs in rcp,</title>
<updated>1998-10-14T18:53:36Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>1998-10-14T18:53:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=dea625c8721c5a896b6d2e8c5209fc6ef4802f01'/>
<id>urn:sha1:dea625c8721c5a896b6d2e8c5209fc6ef4802f01</id>
<content type='text'>
telnet and tip, and probably a few other apps.

Reviewed by:	bde
Approved by:	jkh
</content>
</entry>
<entry>
<title>stat() the correct file in execvp() so that the fine tuned errno handling</title>
<updated>1997-11-20T15:09:38Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-11-20T15:09:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=70df31a6274f347a0bf3a5ee114a24ef103fde19'/>
<id>urn:sha1:70df31a6274f347a0bf3a5ee114a24ef103fde19</id>
<content type='text'>
actually works.
</content>
</entry>
</feed>
