xref: /titanic_51/usr/src/lib/libshell/common/sh/pmain.c (revision 34de876298c5177ddeb98f3af7e4e3012f16e2a7)
1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1982-2009 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                  Common Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *            http://www.opensource.org/licenses/cpl1.0.txt             *
11 *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *                  David Korn <dgk@research.att.com>                   *
18 *                                                                      *
19 ***********************************************************************/
20 #pragma prototyped
21 
22 #include	<shell.h>
23 
24 #include	"FEATURE/externs"
25 
26 #if defined(__sun) && _sys_mman && _lib_memcntl && defined(MHA_MAPSIZE_STACK) && defined(MC_HAT_ADVISE)
27 #   undef	VM_FLAGS	/* solaris vs vmalloc.h symbol clash */
28 #   include	<sys/mman.h>
29 #else
30 #   undef	_lib_memcntl
31 #endif
32 
33 typedef int (*Shnote_f)(int, long, int);
34 
35 int main(int argc, char *argv[])
36 {
37 #if _lib_memcntl
38 	/* advise larger stack size */
39 	struct memcntl_mha mha;
40 	mha.mha_cmd = MHA_MAPSIZE_STACK;
41 	mha.mha_flags = 0;
42 	mha.mha_pagesize = 64 * 1024;
43 	(void)memcntl(NULL, 0, MC_HAT_ADVISE, (caddr_t)&mha, 0, 0);
44 #endif
45 	sh_waitnotify((Shnote_f)0);
46 	return(sh_main(argc, argv, (Shinit_f)0));
47 }
48