xref: /illumos-gate/usr/src/contrib/ast/src/cmd/ksh93/sh/pmain.c (revision 689b9301078f0c35c7f198fcee8032a0d30eff3a)
1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1982-2011 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                 Eclipse Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *          http://www.eclipse.org/org/documents/epl-v10.html           *
11 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
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 	return(sh_main(argc, argv, (Shinit_f)0));
46 }
47