1902N/A# The contents of this file are subject to the terms of the 1902N/A# Common Development and Distribution License (the "License"). 1902N/A# You may not use this file except in compliance with the License. 1902N/A# See the License for the specific language governing permissions 1902N/A# and limitations under the License. 1902N/A# When distributing Covered Code, include this CDDL HEADER in each 1902N/A# If applicable, add the following below this CDDL HEADER, with the 1902N/A# fields enclosed by brackets "[]" replaced with your own identifying 1902N/A# information: Portions Copyright [yyyy] [name of copyright owner] 3356N/A# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. 1902N/A# Load SMF constants and functions 3356N/A echo "this script can only be invoked by smf(7)" 1902N/A # Handles mDNS depot startup 1902N/A # retrieve the pkg_root property. If the variable is left empty 1902N/A # make sure pkg_root ends with a / 1902N/A # adjust the PYTHONPATH to point to the current environment 1902N/A # we need to make sure to adjust the PYTHONPATH accordingly 3177N/A # to a Python 2.7 or 3.4 environment 2515N/A # If this process has net_privaddr, then we pass it along. 2515N/A # If not, we ensure that we don't specify it, since that will 2515N/A # cause ppriv to throw an error. 2515N/A echo "Dropping net_privaddr privilege." 2515N/A # Build up the privileges available starting with "basic". This 2515N/A # provides some protection even when the depot runs as root. 1902N/A # Echo the command so that the log contains the command used to start 1902N/A # Strategy: First, try shutting down depot using polite kill. Use up 1902N/A # as much as possible of the allotted timeout period waiting for polite 1902N/A # kill to take effect. As time runs out, try a more aggressive kill. 1902N/A # Note that we're working around an oddity in smf_kill_contract: it 1902N/A # waits in 5 second chunks and can overshoot the specified timeout 1902N/A # by as many as 4 seconds. Example: a specified wait of 6 will result 1902N/A # in a wait of 10 seconds in reality. Since we may potentially do a 1902N/A # first kill and then a second, we must ensure that at least 8 seconds 1902N/A # of slop is left in reserve. To be paranoid, we go for 10. 1902N/A # '2' indicates timeout with non-empty contract. 2515N/A echo "Gentle contract kill timed out after" \
1902N/A # Again, despite the specified timeout, this will 1902N/A # take a minimum of 5 seconds to complete. 1902N/A # If the timeout is too short, we just try once, politely. 1902N/A echo "Usage: $0 { start | stop }"