From 75903038bc52105bc7479fe5f2b75f22f10c1c50 Mon Sep 17 00:00:00 2001 From: jasone <jasone@FreeBSD.org> Date: Wed, 12 Jan 2000 09:23:48 +0000 Subject: Add three-tier symbol naming in support of POSIX thread cancellation points. For library functions, the pattern is __sleep() <-- _libc_sleep() <-- sleep(). The arrows represent weak aliases. For system calls, the pattern is _read() <-- _libc_read() <-- read(). --- lib/libc/stdlib/system.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/libc/stdlib/system.c') diff --git a/lib/libc/stdlib/system.c b/lib/libc/stdlib/system.c index 00db7d6..0039c078 100644 --- a/lib/libc/stdlib/system.c +++ b/lib/libc/stdlib/system.c @@ -29,6 +29,8 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ #if defined(LIBC_SCCS) && !defined(lint) @@ -44,7 +46,8 @@ static char sccsid[] = "@(#)system.c 8.1 (Berkeley) 6/4/93"; #include <paths.h> #include <errno.h> -int system(command) +int +__system(command) const char *command; { pid_t pid; @@ -81,7 +84,7 @@ int system(command) _exit(127); default: /* parent */ do { - pid = waitpid(pid, &pstat, 0); + pid = _libc_waitpid(pid, &pstat, 0); } while (pid == -1 && errno == EINTR); break; } @@ -90,3 +93,6 @@ int system(command) (void)sigprocmask(SIG_SETMASK, &oldsigblock, NULL); return(pid == -1 ? -1 : pstat); } + +__weak_reference(__system, _libc_system); +__weak_reference(_libc_system, system); -- cgit v1.1