components/rabbitmq/svc-rabbitmq
author John Beck <John.Beck@Oracle.COM>
Wed, 09 Oct 2013 07:10:15 -0700
branchs11-update
changeset 2785 b6f5c5d1d0b7
permissions -rw-r--r--
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module PSARC 2013/142 iso8601 version 0.1.4 - Python date parsing module PSARC 2013/143 jsonpointer PSARC 2013/145 tempita version 0.5.1 - Python templating language module PSARC 2013/149 httplib2 version 0.8 PSARC 2013/150 prettytable version 0.7.2 PSARC 2013/151 jsonpatch PSARC 2013/152 repoze.lru version 0.6 PSARC 2013/153 Paste version 1.7.5.1 PSARC 2013/154 jsonschema PSARC 2013/156 webob version 1.2.3 PSARC 2013/157 routes version 1.13 PSARC 2013/161 anyjson PSARC 2013/164 paste.deploy version 1.5.0 PSARC 2013/165 FormEncode version 1.2.6 PSARC 2013/168 py-amqp version 1.0.11 PSARC 2013/170 eventlet PSARC 2013/171 passlib PSARC 2013/172 warlock PSARC 2013/173 sqlalchemy PSARC 2013/174 sqlalchemy-migrate PSARC 2013/175 rabbitmq PSARC 2013/176 pyrabbit PSARC 2013/177 librabbitmq PSARC 2013/179 filechunkio version 1.5 PSARC 2013/180 boto version 2.9.2 PSARC 2013/183 python-ldap version 2.4.10 PSARC 2013/187 Kombu version 2.5.10 PSARC 2013/241 six version 1.3.0 PSARC 2013/242 d2to1 version 0.2.10 PSARC 2013/245 stevedore version 0.10 PSARC 2013/246 pbr version 0.5.18 PSARC 2013/250 pyparsing version 1.5.7 PSARC 2013/251 cliff version 1.4 PSARC 2013/252 cmd2 version 0.6.5.1 PSARC 2013/253 suds version 0.4 PSARC 2013/254 alembic version 0.5.0 PSARC 2013/255 requests version 1.2.3 PSARC 2013/256 markupsafe version 0.18 PSARC 2013/279 importlib version 1.0.2 PSARC 2013/280 ordereddict version 1.1 16665240 The Python greenlet module should be added to Userland 16667497 add the Python eventlet module to Userland 16672571 The Python iso8601 module should be added to Userland 16679500 The Python prettytable module should be added to Userland 16682029 add the Python jsonschema module to Userland 16682050 add the Python anyjson module to Userland 16685766 The Python tempita module should be added to Userland 16688436 add the Python passlib module to Userland 16693200 The Python repoze.lru module should be added to Userland 16699958 The Python webob module should be added to Userland 16699986 The Python paste module should be added to Userland 16710493 The Python paste.deploy module should be added to Userland 16724221 The Python routes module should be added to Userland 16732554 add the Python jsonpatch module to Userland 16732628 add the Python jsonpointer module to Userland 16732673 add the Python warlock module to Userland 16734803 The Python formencode module should be added to Userland 16734806 The Python kombu module should be added to Userland 16734807 The Python httplib2 module should be added to Userland 16734808 The Python boto module should be added to Userland 16734812 The Python py-amqp module should be added to Userland 16740335 add the Python sqlalchemy module to Userland 16740866 add the Python sqlalchemy-migrate module to Userland 16746942 The python-ldap module should be added to Userland 16756023 The Python filechunkio module should be added to Userland 16776524 add RabbitMQ to Userland 16783170 add the Python librabbitmq module to Userland 16789370 add the Python pyrabbit module to Userland 17079852 The Python six module should be added to Userland 17081922 The Python pbr module should be added to Userland 17081941 The Python stevedore module should be added to Userland 17081952 The Python d2to1 module should be added to Userland 17171265 The Python pyparsing module should be added to Userland 17171761 The Python cliff module should be added to Userland 17171787 The Python cmd2 module should be added to Userland 17171805 The Python suds module should be added to Userland 17171821 The Python alembic module should be added to Userland 17171836 The Python requests module should be added to Userland 17171847 The Python markupsafe module should be added to Userland 17285026 The Python importlib module should be added to Userland 17285066 The Python ordereddict module should be added to Userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2785
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
#!/usr/sbin/sh
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
# CDDL HEADER START
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
# and limitations under the License.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    19
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    20
# CDDL HEADER END
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    21
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    22
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    23
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    24
# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    25
#
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    26
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    27
. /lib/svc/share/smf_include.sh
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    28
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    29
RABBIT_SERVER=/usr/bin/rabbitmq-server
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    30
RABBIT_CTL=/usr/bin/rabbitmqctl
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    31
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    32
if [[ -z "$SMF_FMRI" ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    33
	echo "This script can only be invoked by smf(5)"
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    34
	exit $SMF_EXIT_ERR_NOSMF
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    35
fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    36
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    37
# rabbitmq-env handles pulling in configuration from a number of sources.  Out
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    38
# of that, the server builds more configuration variables if they haven't
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    39
# already been set.  getenv() gives us the variable as the server would see it.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    40
# It's up to the caller to massage it as the server would.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    41
getenv() {
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    42
	# Has the RABBITMQ_ version been set?  If so, that takes precedence.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    43
	r=$(eval print \$RABBITMQ_${1})
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    44
	if [[ -n $r ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    45
		print $r
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    46
	else
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    47
		print $(
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    48
			SCRIPT_DIR=/usr/lib/rabbitmq/bin;
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    49
			. /usr/lib/rabbitmq/bin/rabbitmq-env;
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    50
			eval print \${$1}
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    51
		)
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    52
	fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    53
}
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    54
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    55
# If RABBITMQ_NODENAME isn't set in the environment, then use the FMRI instance
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    56
# name, unless the instance name is "default", in which case we use the default
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    57
# from the configuration files.  If the instance name doesn't have an @ in it,
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    58
# then append the hostname.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    59
if [[ -z $RABBITMQ_NODENAME ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    60
	INSTANCE=${SMF_FMRI##*:}
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    61
	if [[ $INSTANCE == default ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    62
		INSTANCE=$(getenv NODENAME)
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    63
	fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    64
	if [[ $INSTANCE != *@* ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    65
		INSTANCE=$INSTANCE@$(hostname)
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    66
	fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    67
	export RABBITMQ_NODENAME=$INSTANCE
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    68
fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    69
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    70
# XXX Why isn't HOME set for us?
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    71
export HOME=/var/lib/rabbitmq
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    72
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    73
case "$1" in
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    74
"start")
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    75
	$RABBIT_SERVER -detached
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    76
	;;
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    77
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    78
"stop")
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    79
	$RABBIT_CTL -n $RABBITMQ_NODENAME stop
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    80
	# XXX epmd should be in a separate SMF service (16749936); for now,
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    81
	# though, be sure to kill it here.
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    82
	epmd_pid=$(pgrep -c $(svcs -H -o ctid $SMF_FMRI) epmd)
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    83
	if [[ -n $epmd_pid ]]; then
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    84
		sleep 2
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    85
		epmd -kill
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    86
	fi
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    87
	;;
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    88
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    89
*)
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    90
	echo "Usage: $0 { start | stop }"
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    91
	exit $SMF_EXIT_ERR_CONFIG
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    92
	;;
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    93
esac
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    94
b6f5c5d1d0b7 PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    95
exit $SMF_EXIT_OK