1b15c8340SDag-Erling Smørgrav /* $Id: platform.c,v 1.3 2009/12/20 23:49:22 dtucker Exp $ */ 2761efaa7SDag-Erling Smørgrav 3761efaa7SDag-Erling Smørgrav /* 4761efaa7SDag-Erling Smørgrav * Copyright (c) 2006 Darren Tucker. All rights reserved. 5761efaa7SDag-Erling Smørgrav * 6761efaa7SDag-Erling Smørgrav * Permission to use, copy, modify, and distribute this software for any 7761efaa7SDag-Erling Smørgrav * purpose with or without fee is hereby granted, provided that the above 8761efaa7SDag-Erling Smørgrav * copyright notice and this permission notice appear in all copies. 9761efaa7SDag-Erling Smørgrav * 10761efaa7SDag-Erling Smørgrav * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11761efaa7SDag-Erling Smørgrav * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12761efaa7SDag-Erling Smørgrav * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13761efaa7SDag-Erling Smørgrav * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14761efaa7SDag-Erling Smørgrav * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15761efaa7SDag-Erling Smørgrav * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16761efaa7SDag-Erling Smørgrav * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17761efaa7SDag-Erling Smørgrav */ 18761efaa7SDag-Erling Smørgrav 19761efaa7SDag-Erling Smørgrav #include "config.h" 20761efaa7SDag-Erling Smørgrav #include "platform.h" 21761efaa7SDag-Erling Smørgrav 22761efaa7SDag-Erling Smørgrav #include "openbsd-compat/openbsd-compat.h" 23761efaa7SDag-Erling Smørgrav 24761efaa7SDag-Erling Smørgrav void 25b15c8340SDag-Erling Smørgrav platform_pre_listen(void) 26b15c8340SDag-Erling Smørgrav { 27b15c8340SDag-Erling Smørgrav #ifdef LINUX_OOM_ADJUST 28b15c8340SDag-Erling Smørgrav /* Adjust out-of-memory killer so listening process is not killed */ 29b15c8340SDag-Erling Smørgrav oom_adjust_setup(); 30b15c8340SDag-Erling Smørgrav #endif 31b15c8340SDag-Erling Smørgrav } 32b15c8340SDag-Erling Smørgrav 33b15c8340SDag-Erling Smørgrav void 34761efaa7SDag-Erling Smørgrav platform_pre_fork(void) 35761efaa7SDag-Erling Smørgrav { 36761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS 37761efaa7SDag-Erling Smørgrav solaris_contract_pre_fork(); 38761efaa7SDag-Erling Smørgrav #endif 39761efaa7SDag-Erling Smørgrav } 40761efaa7SDag-Erling Smørgrav 41761efaa7SDag-Erling Smørgrav void 42761efaa7SDag-Erling Smørgrav platform_post_fork_parent(pid_t child_pid) 43761efaa7SDag-Erling Smørgrav { 44761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS 45761efaa7SDag-Erling Smørgrav solaris_contract_post_fork_parent(child_pid); 46761efaa7SDag-Erling Smørgrav #endif 47761efaa7SDag-Erling Smørgrav } 48761efaa7SDag-Erling Smørgrav 49761efaa7SDag-Erling Smørgrav void 50761efaa7SDag-Erling Smørgrav platform_post_fork_child(void) 51761efaa7SDag-Erling Smørgrav { 52761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS 53761efaa7SDag-Erling Smørgrav solaris_contract_post_fork_child(); 54761efaa7SDag-Erling Smørgrav #endif 55b15c8340SDag-Erling Smørgrav #ifdef LINUX_OOM_ADJUST 56b15c8340SDag-Erling Smørgrav oom_adjust_restore(); 57b15c8340SDag-Erling Smørgrav #endif 58b15c8340SDag-Erling Smørgrav } 59b15c8340SDag-Erling Smørgrav 60b15c8340SDag-Erling Smørgrav char * 61b15c8340SDag-Erling Smørgrav platform_krb5_get_principal_name(const char *pw_name) 62b15c8340SDag-Erling Smørgrav { 63b15c8340SDag-Erling Smørgrav #ifdef USE_AIX_KRB_NAME 64b15c8340SDag-Erling Smørgrav return aix_krb5_get_principal_name(pw_name); 65b15c8340SDag-Erling Smørgrav #else 66b15c8340SDag-Erling Smørgrav return NULL; 67b15c8340SDag-Erling Smørgrav #endif 68761efaa7SDag-Erling Smørgrav } 69