14887Schin /***********************************************************************
24887Schin * *
34887Schin * This software is part of the ast package *
4*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1985-2010 AT&T Intellectual Property *
54887Schin * and is licensed under the *
64887Schin * Common Public License, Version 1.0 *
78462SApril.Chin@Sun.COM * by AT&T Intellectual Property *
84887Schin * *
94887Schin * A copy of the License is available at *
104887Schin * http://www.opensource.org/licenses/cpl1.0.txt *
114887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
124887Schin * *
134887Schin * Information and Software Systems Research *
144887Schin * AT&T Research *
154887Schin * Florham Park NJ *
164887Schin * *
174887Schin * Glenn Fowler <gsf@research.att.com> *
184887Schin * David Korn <dgk@research.att.com> *
194887Schin * Phong Vo <kpv@research.att.com> *
204887Schin * *
214887Schin ***********************************************************************/
224887Schin #pragma prototyped
234887Schin /*
244887Schin * Glenn Fowler
254887Schin * AT&T Research
264887Schin *
274887Schin * procopen() + procclose()
284887Schin * no env changes
294887Schin * no modifications
304887Schin * effective=real
314887Schin * parent ignores INT & QUIT
324887Schin */
334887Schin
344887Schin #include "proclib.h"
354887Schin
364887Schin int
procrun(const char * path,char ** argv,int flags)378462SApril.Chin@Sun.COM procrun(const char* path, char** argv, int flags)
384887Schin {
398462SApril.Chin@Sun.COM #if __OBSOLETE__ < 20090101
408462SApril.Chin@Sun.COM flags &= argv ? PROC_ARGMOD : PROC_CHECK;
418462SApril.Chin@Sun.COM #endif
428462SApril.Chin@Sun.COM if (flags & PROC_CHECK)
438462SApril.Chin@Sun.COM {
448462SApril.Chin@Sun.COM char buf[PATH_MAX];
458462SApril.Chin@Sun.COM
468462SApril.Chin@Sun.COM return pathpath(buf, path, NiL, PATH_REGULAR|PATH_EXECUTE) ? 0 : -1;
478462SApril.Chin@Sun.COM }
488462SApril.Chin@Sun.COM return procclose(procopen(path, argv, NiL, NiL, flags|PROC_FOREGROUND|PROC_GID|PROC_UID));
494887Schin }
50