~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to lib/dialyzer/test/r9c_tests_SUITE_data/src/inets/httpd_acceptor_sup.erl

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%% ``The contents of this file are subject to the Erlang Public License,
 
2
%% Version 1.1, (the "License"); you may not use this file except in
 
3
%% compliance with the License. You should have received a copy of the
 
4
%% Erlang Public License along with this software. If not, it can be
 
5
%% retrieved via the world wide web at http://www.erlang.org/.
 
6
%% 
 
7
%% Software distributed under the License is distributed on an "AS IS"
 
8
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 
9
%% the License for the specific language governing rights and limitations
 
10
%% under the License.
 
11
%% 
 
12
%% The Initial Developer of the Original Code is Ericsson Utvecklings AB.
 
13
%% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 
14
%% AB. All Rights Reserved.''
 
15
%% 
 
16
%%     $Id: httpd_acceptor_sup.erl,v 1.1 2008/12/17 09:53:33 mikpe Exp $
 
17
%%
 
18
%%----------------------------------------------------------------------
 
19
%% Purpose: The top supervisor for the Megaco/H.248 application
 
20
%%----------------------------------------------------------------------
 
21
 
 
22
-module(httpd_acceptor_sup).
 
23
 
 
24
-behaviour(supervisor).
 
25
 
 
26
-include("httpd_verbosity.hrl").
 
27
 
 
28
%% public
 
29
-export([start/3, stop/1, init/1]).
 
30
 
 
31
-export([start_acceptor/4, stop_acceptor/2]).
 
32
 
 
33
 
 
34
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
35
%% supervisor callback functions
 
36
 
 
37
 
 
38
start(Addr, Port, AccSupVerbosity) ->
 
39
    SupName = make_name(Addr, Port),
 
40
    supervisor:start_link({local, SupName}, ?MODULE, [AccSupVerbosity]).
 
41
 
 
42
stop(StartArgs) ->
 
43
    ok.
 
44
 
 
45
init([Verbosity]) -> % Supervisor
 
46
    do_init(Verbosity);
 
47
init(BadArg) ->
 
48
    {error, {badarg, BadArg}}.
 
49
 
 
50
do_init(Verbosity) ->
 
51
    put(verbosity,?vvalidate(Verbosity)),
 
52
    put(sname,acc_sup),
 
53
    ?vlog("starting", []),
 
54
    Flags     = {one_for_one, 500, 100},
 
55
    KillAfter = timer:seconds(1),
 
56
    Workers   = [],
 
57
    {ok, {Flags, Workers}}.
 
58
 
 
59
 
 
60
%%----------------------------------------------------------------------
 
61
%% Function: [start|stop]_acceptor/5
 
62
%% Description: Starts a [auth | security] worker (child) process
 
63
%%----------------------------------------------------------------------
 
64
 
 
65
start_acceptor(SocketType, Addr, Port, ConfigDb) ->
 
66
    Verbosity = get_acc_verbosity(),
 
67
    start_worker(httpd_acceptor, SocketType, Addr, Port, 
 
68
                 ConfigDb, Verbosity, self(), []).
 
69
 
 
70
stop_acceptor(Addr, Port) ->
 
71
    stop_worker(httpd_acceptor, Addr, Port).
 
72
 
 
73
 
 
74
%%----------------------------------------------------------------------
 
75
%% Function:    start_worker/5
 
76
%% Description: Starts a (permanent) worker (child) process
 
77
%%----------------------------------------------------------------------
 
78
 
 
79
start_worker(M, SocketType, Addr, Port, ConfigDB, Verbosity, Manager, 
 
80
             Modules) ->
 
81
    SupName = make_name(Addr, Port),
 
82
    Args    = [Manager, SocketType, Addr, Port, ConfigDB, Verbosity],
 
83
    Spec    = {{M, Addr, Port},
 
84
               {M, start_link, Args}, 
 
85
               permanent, timer:seconds(1), worker, [M] ++ Modules},
 
86
    supervisor:start_child(SupName, Spec).
 
87
 
 
88
 
 
89
%%----------------------------------------------------------------------
 
90
%% Function:    stop_permanent_worker/3
 
91
%% Description: Stops a permanent worker (child) process
 
92
%%----------------------------------------------------------------------
 
93
 
 
94
stop_worker(M, Addr, Port) ->
 
95
    SupName = make_name(Addr, Port),
 
96
    Name    = {M, Addr, Port},
 
97
    case supervisor:terminate_child(SupName, Name) of
 
98
        ok ->
 
99
            supervisor:delete_child(SupName, Name);
 
100
        Error ->
 
101
            Error
 
102
    end.
 
103
    
 
104
 
 
105
make_name(Addr,Port) ->
 
106
    httpd_util:make_name("httpd_acc_sup",Addr,Port).
 
107
 
 
108
 
 
109
 
 
110
get_acc_verbosity() ->
 
111
    get_verbosity(get(acceptor_verbosity)).
 
112
 
 
113
get_verbosity(undefined) ->
 
114
    ?default_verbosity;
 
115
get_verbosity(V) ->
 
116
    ?vvalidate(V).
 
117
 
 
118