Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
a3ee7595
提交
a3ee7595
authored
2月 09, 2017
作者:
Mike Jerris
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FS-10025: fix global symbol scope issue causing modules to use another modules global pointer
上级
c125ab73
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
526 行增加
和
528 行删除
+526
-528
.update
libs/sofia-sip/.update
+1
-1
ws.c
libs/sofia-sip/libsofia-sip-ua/tport/ws.c
+1
-1
ws.h
libs/sofia-sip/libsofia-sip-ua/tport/ws.h
+1
-1
mod_avmd.c
src/mod/applications/mod_avmd/mod_avmd.c
+1
-1
mod_oreka.c
src/mod/applications/mod_oreka/mod_oreka.c
+1
-1
mod_sms_flowroute.c
src/mod/applications/mod_sms_flowroute/mod_sms_flowroute.c
+1
-1
mod_spy.c
src/mod/applications/mod_spy/mod_spy.c
+1
-1
mod_h323.cpp
src/mod/endpoints/mod_h323/mod_h323.cpp
+1
-1
mod_skinny.c
src/mod/endpoints/mod_skinny/mod_skinny.c
+52
-52
mod_skinny.h
src/mod/endpoints/mod_skinny/mod_skinny.h
+1
-1
skinny_api.c
src/mod/endpoints/mod_skinny/skinny_api.c
+3
-3
mod_verto.c
src/mod/endpoints/mod_verto/mod_verto.c
+152
-152
mod_verto.h
src/mod/endpoints/mod_verto/mod_verto.h
+0
-2
ws.c
src/mod/endpoints/mod_verto/ws.c
+5
-5
ws.h
src/mod/endpoints/mod_verto/ws.h
+1
-1
ei_helpers.c
src/mod/event_handlers/mod_erlang_event/ei_helpers.c
+11
-11
handle_msg.c
src/mod/event_handlers/mod_erlang_event/handle_msg.c
+2
-2
mod_erlang_event.c
src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
+51
-51
mod_erlang_event.h
src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h
+2
-2
kazoo_event_stream.c
src/mod/event_handlers/mod_kazoo/kazoo_event_stream.c
+13
-13
kazoo_fetch_agent.c
src/mod/event_handlers/mod_kazoo/kazoo_fetch_agent.c
+28
-28
kazoo_node.c
src/mod/event_handlers/mod_kazoo/kazoo_node.c
+40
-40
kazoo_utils.c
src/mod/event_handlers/mod_kazoo/kazoo_utils.c
+12
-12
mod_kazoo.c
src/mod/event_handlers/mod_kazoo/mod_kazoo.c
+115
-115
mod_kazoo.h
src/mod/event_handlers/mod_kazoo/mod_kazoo.h
+1
-1
rayo_cpa_component.c
src/mod/event_handlers/mod_rayo/rayo_cpa_component.c
+1
-1
freeswitch_managed.h
src/mod/languages/mod_managed/freeswitch_managed.h
+3
-3
mod_managed.cpp
src/mod/languages/mod_managed/mod_managed.cpp
+19
-19
mono28.patch
src/mod/languages/mod_managed/mono28.patch
+4
-4
mod_v8.cpp
src/mod/languages/mod_v8/mod_v8.cpp
+1
-1
ws.c
src/mod/xml_int/mod_xml_rpc/ws.c
+1
-1
没有找到文件。
libs/sofia-sip/.update
浏览文件 @
a3ee7595
Thu
Dec 22 16:13:33 CST 2016
Thu
Feb 9 16:42:05 CST 2017
libs/sofia-sip/libsofia-sip-ua/tport/ws.c
浏览文件 @
a3ee7595
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#define WS_WRITE_SANITY 2000
#define WS_WRITE_SANITY 2000
#define SHA1_HASH_SIZE 20
#define SHA1_HASH_SIZE 20
struct
ws_globals_s
ws_globals
;
st
atic
st
ruct
ws_globals_s
ws_globals
;
#ifndef WSS_STANDALONE
#ifndef WSS_STANDALONE
...
...
libs/sofia-sip/libsofia-sip-ua/tport/ws.h
浏览文件 @
a3ee7595
...
@@ -61,7 +61,7 @@ struct ws_globals_s {
...
@@ -61,7 +61,7 @@ struct ws_globals_s {
char
key
[
512
];
char
key
[
512
];
};
};
extern
struct
ws_globals_s
ws_globals
;
//
extern struct ws_globals_s ws_globals;
#ifndef WIN32
#ifndef WIN32
typedef
int
ws_socket_t
;
typedef
int
ws_socket_t
;
...
...
src/mod/applications/mod_avmd/mod_avmd.c
浏览文件 @
a3ee7595
...
@@ -235,7 +235,7 @@ struct avmd_session {
...
@@ -235,7 +235,7 @@ struct avmd_session {
struct
avmd_detector
*
detectors
;
struct
avmd_detector
*
detectors
;
};
};
struct
avmd_globals
st
atic
st
ruct
avmd_globals
{
{
switch_mutex_t
*
mutex
;
switch_mutex_t
*
mutex
;
struct
avmd_settings
settings
;
struct
avmd_settings
settings
;
...
...
src/mod/applications/mod_oreka/mod_oreka.c
浏览文件 @
a3ee7595
...
@@ -60,7 +60,7 @@ typedef struct oreka_session_s {
...
@@ -60,7 +60,7 @@ typedef struct oreka_session_s {
int
mux_streams
;
int
mux_streams
;
}
oreka_session_t
;
}
oreka_session_t
;
struct
{
st
atic
st
ruct
{
char
local_ipv4_str
[
256
];
char
local_ipv4_str
[
256
];
char
sip_server_addr_str
[
256
];
char
sip_server_addr_str
[
256
];
char
sip_server_ipv4_str
[
256
];
char
sip_server_ipv4_str
[
256
];
...
...
src/mod/applications/mod_sms_flowroute/mod_sms_flowroute.c
浏览文件 @
a3ee7595
...
@@ -35,7 +35,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_flowroute_load);
...
@@ -35,7 +35,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_flowroute_load);
SWITCH_MODULE_SHUTDOWN_FUNCTION
(
mod_sms_flowroute_shutdown
);
SWITCH_MODULE_SHUTDOWN_FUNCTION
(
mod_sms_flowroute_shutdown
);
SWITCH_MODULE_DEFINITION
(
mod_sms_flowroute
,
mod_sms_flowroute_load
,
mod_sms_flowroute_shutdown
,
NULL
);
SWITCH_MODULE_DEFINITION
(
mod_sms_flowroute
,
mod_sms_flowroute_load
,
mod_sms_flowroute_shutdown
,
NULL
);
mod_sms_flowroute_globals_t
mod_sms_flowroute_globals
;
static
mod_sms_flowroute_globals_t
mod_sms_flowroute_globals
;
static
void
on_accept
(
h2o_socket_t
*
listener
,
const
char
*
error
)
static
void
on_accept
(
h2o_socket_t
*
listener
,
const
char
*
error
)
{
{
...
...
src/mod/applications/mod_spy/mod_spy.c
浏览文件 @
a3ee7595
...
@@ -38,7 +38,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_spy_load);
...
@@ -38,7 +38,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_spy_load);
SWITCH_MODULE_DEFINITION
(
mod_spy
,
mod_spy_load
,
mod_spy_shutdown
,
NULL
);
SWITCH_MODULE_DEFINITION
(
mod_spy
,
mod_spy_load
,
mod_spy_shutdown
,
NULL
);
struct
mod_spy_globals
{
st
atic
st
ruct
mod_spy_globals
{
switch_memory_pool_t
*
pool
;
switch_memory_pool_t
*
pool
;
switch_event_node_t
*
node
;
switch_event_node_t
*
node
;
switch_hash_t
*
spy_hash
;
switch_hash_t
*
spy_hash
;
...
...
src/mod/endpoints/mod_h323/mod_h323.cpp
浏览文件 @
a3ee7595
...
@@ -47,7 +47,7 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_rtp_timer_name, mod_h323_globals.rt
...
@@ -47,7 +47,7 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_rtp_timer_name, mod_h323_globals.rt
#define CF_NEED_FLUSH (1 << 1)
#define CF_NEED_FLUSH (1 << 1)
struct
mod_h323_globals
mod_h323_globals
=
{
0
};
st
atic
st
ruct
mod_h323_globals
mod_h323_globals
=
{
0
};
static
switch_call_cause_t
create_outgoing_channel
(
switch_core_session_t
*
session
,
switch_event_t
*
var_event
,
static
switch_call_cause_t
create_outgoing_channel
(
switch_core_session_t
*
session
,
switch_event_t
*
var_event
,
switch_caller_profile_t
*
outbound_profile
,
switch_core_session_t
**
new_session
,
switch_caller_profile_t
*
outbound_profile
,
switch_core_session_t
**
new_session
,
...
...
src/mod/endpoints/mod_skinny/mod_skinny.c
浏览文件 @
a3ee7595
差异被折叠。
点击展开。
src/mod/endpoints/mod_skinny/mod_skinny.h
浏览文件 @
a3ee7595
...
@@ -101,7 +101,7 @@ struct skinny_globals {
...
@@ -101,7 +101,7 @@ struct skinny_globals {
};
};
typedef
struct
skinny_globals
skinny_globals_t
;
typedef
struct
skinny_globals
skinny_globals_t
;
extern
skinny_globals_t
globals
;
extern
skinny_globals_t
skinny_
globals
;
typedef
enum
{
typedef
enum
{
PFLAG_LISTENER_READY
=
(
1
<<
0
),
PFLAG_LISTENER_READY
=
(
1
<<
0
),
...
...
src/mod/endpoints/mod_skinny/skinny_api.c
浏览文件 @
a3ee7595
...
@@ -48,14 +48,14 @@ static switch_status_t skinny_api_list_profiles(const char *line, const char *cu
...
@@ -48,14 +48,14 @@ static switch_status_t skinny_api_list_profiles(const char *line, const char *cu
skinny_profile_t
*
profile
;
skinny_profile_t
*
profile
;
/* walk profiles */
/* walk profiles */
switch_mutex_lock
(
globals
.
mutex
);
switch_mutex_lock
(
skinny_
globals
.
mutex
);
for
(
hi
=
switch_core_hash_first
(
globals
.
profile_hash
);
hi
;
hi
=
switch_core_hash_next
(
&
hi
))
{
for
(
hi
=
switch_core_hash_first
(
skinny_
globals
.
profile_hash
);
hi
;
hi
=
switch_core_hash_next
(
&
hi
))
{
switch_core_hash_this
(
hi
,
NULL
,
NULL
,
&
val
);
switch_core_hash_this
(
hi
,
NULL
,
NULL
,
&
val
);
profile
=
(
skinny_profile_t
*
)
val
;
profile
=
(
skinny_profile_t
*
)
val
;
switch_console_push_match
(
&
my_matches
,
profile
->
name
);
switch_console_push_match
(
&
my_matches
,
profile
->
name
);
}
}
switch_mutex_unlock
(
globals
.
mutex
);
switch_mutex_unlock
(
skinny_
globals
.
mutex
);
if
(
my_matches
)
{
if
(
my_matches
)
{
*
matches
=
my_matches
;
*
matches
=
my_matches
;
...
...
src/mod/endpoints/mod_verto/mod_verto.c
浏览文件 @
a3ee7595
差异被折叠。
点击展开。
src/mod/endpoints/mod_verto/mod_verto.h
浏览文件 @
a3ee7595
...
@@ -320,8 +320,6 @@ struct globals_s {
...
@@ -320,8 +320,6 @@ struct globals_s {
};
};
extern
struct
globals_s
globals
;
typedef
switch_bool_t
(
*
jrpc_func_t
)(
const
char
*
method
,
cJSON
*
params
,
jsock_t
*
jsock
,
cJSON
**
response
);
typedef
switch_bool_t
(
*
jrpc_func_t
)(
const
char
*
method
,
cJSON
*
params
,
jsock_t
*
jsock
,
cJSON
**
response
);
...
...
src/mod/endpoints/mod_verto/ws.c
浏览文件 @
a3ee7595
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#define WS_WRITE_SANITY 2000
#define WS_WRITE_SANITY 2000
#define SHA1_HASH_SIZE 20
#define SHA1_HASH_SIZE 20
struct
ws_globals_s
ws_globals
;
st
atic
st
ruct
ws_globals_s
ws_globals
;
#ifndef WSS_STANDALONE
#ifndef WSS_STANDALONE
...
@@ -110,13 +110,13 @@ void init_ssl(void) {
...
@@ -110,13 +110,13 @@ void init_ssl(void) {
assert
(
ws_globals
.
ssl_ctx
);
assert
(
ws_globals
.
ssl_ctx
);
/* Disable SSLv2 */
/* Disable SSLv2 */
SSL_CTX_set_options
(
globals
.
ssl_ctx
,
SSL_OP_NO_SSLv2
);
SSL_CTX_set_options
(
ws_
globals
.
ssl_ctx
,
SSL_OP_NO_SSLv2
);
/* Disable SSLv3 */
/* Disable SSLv3 */
SSL_CTX_set_options
(
globals
.
ssl_ctx
,
SSL_OP_NO_SSLv3
);
SSL_CTX_set_options
(
ws_
globals
.
ssl_ctx
,
SSL_OP_NO_SSLv3
);
/* Disable TLSv1 */
/* Disable TLSv1 */
SSL_CTX_set_options
(
globals
.
ssl_ctx
,
SSL_OP_NO_TLSv1
);
SSL_CTX_set_options
(
ws_
globals
.
ssl_ctx
,
SSL_OP_NO_TLSv1
);
/* Disable Compression CRIME (Compression Ratio Info-leak Made Easy) */
/* Disable Compression CRIME (Compression Ratio Info-leak Made Easy) */
SSL_CTX_set_options
(
globals
.
ssl_ctx
,
SSL_OP_NO_COMPRESSION
);
SSL_CTX_set_options
(
ws_
globals
.
ssl_ctx
,
SSL_OP_NO_COMPRESSION
);
/* set the local certificate from CertFile */
/* set the local certificate from CertFile */
SSL_CTX_use_certificate_file
(
ws_globals
.
ssl_ctx
,
ws_globals
.
cert
,
SSL_FILETYPE_PEM
);
SSL_CTX_use_certificate_file
(
ws_globals
.
ssl_ctx
,
ws_globals
.
cert
,
SSL_FILETYPE_PEM
);
/* set the private key from KeyFile */
/* set the private key from KeyFile */
...
...
src/mod/endpoints/mod_verto/ws.h
浏览文件 @
a3ee7595
...
@@ -61,7 +61,7 @@ struct ws_globals_s {
...
@@ -61,7 +61,7 @@ struct ws_globals_s {
char
key
[
512
];
char
key
[
512
];
};
};
extern
struct
ws_globals_s
ws_globals
;
//
extern struct ws_globals_s ws_globals;
#ifndef WIN32
#ifndef WIN32
typedef
int
ws_socket_t
;
typedef
int
ws_socket_t
;
...
...
src/mod/event_handlers/mod_erlang_event/ei_helpers.c
浏览文件 @
a3ee7595
...
@@ -202,21 +202,21 @@ void ei_init_ref(ei_cnode * ec, erlang_ref * ref)
...
@@ -202,21 +202,21 @@ void ei_init_ref(ei_cnode * ec, erlang_ref * ref)
memset
(
ref
,
0
,
sizeof
(
*
ref
));
/* zero out the struct */
memset
(
ref
,
0
,
sizeof
(
*
ref
));
/* zero out the struct */
snprintf
(
ref
->
node
,
MAXATOMLEN
,
"%s"
,
ec
->
thisnodename
);
snprintf
(
ref
->
node
,
MAXATOMLEN
,
"%s"
,
ec
->
thisnodename
);
switch_mutex_lock
(
globals
.
ref_mutex
);
switch_mutex_lock
(
mod_erlang_event_
globals
.
ref_mutex
);
globals
.
reference0
++
;
mod_erlang_event_
globals
.
reference0
++
;
if
(
globals
.
reference0
>=
MAX_REFERENCE
)
{
if
(
mod_erlang_event_
globals
.
reference0
>=
MAX_REFERENCE
)
{
globals
.
reference0
=
0
;
mod_erlang_event_
globals
.
reference0
=
0
;
globals
.
reference1
++
;
mod_erlang_event_
globals
.
reference1
++
;
if
(
globals
.
reference1
==
0
)
{
if
(
mod_erlang_event_
globals
.
reference1
==
0
)
{
globals
.
reference2
++
;
mod_erlang_event_
globals
.
reference2
++
;
}
}
}
}
ref
->
n
[
0
]
=
globals
.
reference0
;
ref
->
n
[
0
]
=
mod_erlang_event_
globals
.
reference0
;
ref
->
n
[
1
]
=
globals
.
reference1
;
ref
->
n
[
1
]
=
mod_erlang_event_
globals
.
reference1
;
ref
->
n
[
2
]
=
globals
.
reference2
;
ref
->
n
[
2
]
=
mod_erlang_event_
globals
.
reference2
;
switch_mutex_unlock
(
globals
.
ref_mutex
);
switch_mutex_unlock
(
mod_erlang_event_
globals
.
ref_mutex
);
ref
->
creation
=
1
;
/* why is this 1 */
ref
->
creation
=
1
;
/* why is this 1 */
ref
->
len
=
3
;
/* why is this 3 */
ref
->
len
=
3
;
/* why is this 3 */
...
...
src/mod/event_handlers/mod_erlang_event/handle_msg.c
浏览文件 @
a3ee7595
...
@@ -958,7 +958,7 @@ static switch_status_t handle_msg_bind(listener_t *listener, erlang_msg * msg, e
...
@@ -958,7 +958,7 @@ static switch_status_t handle_msg_bind(listener_t *listener, erlang_msg * msg, e
binding
->
process
.
pid
=
msg
->
from
;
binding
->
process
.
pid
=
msg
->
from
;
binding
->
listener
=
listener
;
binding
->
listener
=
listener
;
switch_thread_rwlock_wrlock
(
globals
.
bindings_rwlock
);
switch_thread_rwlock_wrlock
(
mod_erlang_event_
globals
.
bindings_rwlock
);
for
(
ptr
=
bindings
.
head
;
ptr
&&
ptr
->
next
;
ptr
=
ptr
->
next
);
for
(
ptr
=
bindings
.
head
;
ptr
&&
ptr
->
next
;
ptr
=
ptr
->
next
);
...
@@ -969,7 +969,7 @@ static switch_status_t handle_msg_bind(listener_t *listener, erlang_msg * msg, e
...
@@ -969,7 +969,7 @@ static switch_status_t handle_msg_bind(listener_t *listener, erlang_msg * msg, e
}
}
switch_xml_set_binding_sections
(
bindings
.
search_binding
,
switch_xml_get_binding_sections
(
bindings
.
search_binding
)
|
section
);
switch_xml_set_binding_sections
(
bindings
.
search_binding
,
switch_xml_get_binding_sections
(
bindings
.
search_binding
)
|
section
);
switch_thread_rwlock_unlock
(
globals
.
bindings_rwlock
);
switch_thread_rwlock_unlock
(
mod_erlang_event_
globals
.
bindings_rwlock
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_DEBUG
,
"sections %d
\n
"
,
switch_xml_get_binding_sections
(
bindings
.
search_binding
));
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_DEBUG
,
"sections %d
\n
"
,
switch_xml_get_binding_sections
(
bindings
.
search_binding
));
...
...
src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
浏览文件 @
a3ee7595
差异被折叠。
点击展开。
src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h
浏览文件 @
a3ee7595
...
@@ -222,12 +222,12 @@ typedef struct prefs_struct prefs_t;
...
@@ -222,12 +222,12 @@ typedef struct prefs_struct prefs_t;
/* shared globals */
/* shared globals */
#ifdef DEFINE_GLOBALS
#ifdef DEFINE_GLOBALS
globals_t
globals
;
globals_t
mod_erlang_event_
globals
;
listen_list_t
listen_list
;
listen_list_t
listen_list
;
bindings_t
bindings
;
bindings_t
bindings
;
prefs_t
prefs
;
prefs_t
prefs
;
#else
#else
extern
globals_t
globals
;
extern
globals_t
mod_erlang_event_
globals
;
extern
listen_list_t
listen_list
;
extern
listen_list_t
listen_list
;
extern
bindings_t
bindings
;
extern
bindings_t
bindings
;
extern
prefs_t
prefs
;
extern
prefs_t
prefs
;
...
...
src/mod/event_handlers/mod_kazoo/kazoo_event_stream.c
浏览文件 @
a3ee7595
...
@@ -73,11 +73,11 @@ static switch_status_t kazoo_event_dup(switch_event_t **clone, switch_event_t *e
...
@@ -73,11 +73,11 @@ static switch_status_t kazoo_event_dup(switch_event_t **clone, switch_event_t *e
continue
;
continue
;
}
}
if
(
strncmp
(
header
->
name
,
globals
.
kazoo_var_prefix
,
globals
.
var_prefix_length
)
if
(
strncmp
(
header
->
name
,
kazoo_globals
.
kazoo_var_prefix
,
kazoo_
globals
.
var_prefix_length
)
&&
filter
&&
filter
&&
!
switch_core_hash_find
(
filter
,
header
->
name
)
&&
!
switch_core_hash_find
(
filter
,
header
->
name
)
&&
(
!
globals
.
send_all_headers
)
&&
(
!
kazoo_
globals
.
send_all_headers
)
&&
(
!
(
globals
.
send_all_private_headers
&&
is_private_header
(
header
->
name
)))
&&
(
!
(
kazoo_
globals
.
send_all_private_headers
&&
is_private_header
(
header
->
name
)))
)
)
{
{
continue
;
continue
;
...
@@ -107,7 +107,7 @@ static void event_handler(switch_event_t *event) {
...
@@ -107,7 +107,7 @@ static void event_handler(switch_event_t *event) {
ei_event_stream_t
*
event_stream
=
(
ei_event_stream_t
*
)
event
->
bind_user_data
;
ei_event_stream_t
*
event_stream
=
(
ei_event_stream_t
*
)
event
->
bind_user_data
;
/* if mod_kazoo or the event stream isn't running dont push a new event */
/* if mod_kazoo or the event stream isn't running dont push a new event */
if
(
!
switch_test_flag
(
event_stream
,
LFLAG_RUNNING
)
||
!
switch_test_flag
(
&
globals
,
LFLAG_RUNNING
))
{
if
(
!
switch_test_flag
(
event_stream
,
LFLAG_RUNNING
)
||
!
switch_test_flag
(
&
kazoo_
globals
,
LFLAG_RUNNING
))
{
return
;
return
;
}
}
...
@@ -138,7 +138,7 @@ static void event_handler(switch_event_t *event) {
...
@@ -138,7 +138,7 @@ static void event_handler(switch_event_t *event) {
/* try to clone the event and push it to the event stream thread */
/* try to clone the event and push it to the event stream thread */
/* TODO: someday maybe the filter comes from the event_stream (set during init only)
/* TODO: someday maybe the filter comes from the event_stream (set during init only)
* and is per-binding so we only send headers that a process requests */
* and is per-binding so we only send headers that a process requests */
if
(
kazoo_event_dup
(
&
clone
,
event
,
globals
.
event_filter
)
==
SWITCH_STATUS_SUCCESS
)
{
if
(
kazoo_event_dup
(
&
clone
,
event
,
kazoo_
globals
.
event_filter
)
==
SWITCH_STATUS_SUCCESS
)
{
if
(
switch_queue_trypush
(
event_stream
->
queue
,
clone
)
!=
SWITCH_STATUS_SUCCESS
)
{
if
(
switch_queue_trypush
(
event_stream
->
queue
,
clone
)
!=
SWITCH_STATUS_SUCCESS
)
{
/* if we couldn't place the cloned event into the listeners */
/* if we couldn't place the cloned event into the listeners */
/* event queue make sure we destroy it, real good like */
/* event queue make sure we destroy it, real good like */
...
@@ -157,9 +157,9 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
...
@@ -157,9 +157,9 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
char
ipbuf
[
48
];
char
ipbuf
[
48
];
const
char
*
ip_addr
;
const
char
*
ip_addr
;
void
*
pop
;
void
*
pop
;
short
event_stream_framing
=
globals
.
event_stream_framing
;
short
event_stream_framing
=
kazoo_
globals
.
event_stream_framing
;
switch_atomic_inc
(
&
globals
.
threads
);
switch_atomic_inc
(
&
kazoo_
globals
.
threads
);
switch_assert
(
event_stream
!=
NULL
);
switch_assert
(
event_stream
!=
NULL
);
...
@@ -172,7 +172,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
...
@@ -172,7 +172,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
,(
void
*
)
event_stream
,
ip_addr
,
port
,
event_stream
->
pid
.
node
,
event_stream
->
pid
.
creation
,(
void
*
)
event_stream
,
ip_addr
,
port
,
event_stream
->
pid
.
node
,
event_stream
->
pid
.
creation
,
event_stream
->
pid
.
num
,
event_stream
->
pid
.
serial
);
,
event_stream
->
pid
.
num
,
event_stream
->
pid
.
serial
);
while
(
switch_test_flag
(
event_stream
,
LFLAG_RUNNING
)
&&
switch_test_flag
(
&
globals
,
LFLAG_RUNNING
))
{
while
(
switch_test_flag
(
event_stream
,
LFLAG_RUNNING
)
&&
switch_test_flag
(
&
kazoo_
globals
,
LFLAG_RUNNING
))
{
const
switch_pollfd_t
*
fds
;
const
switch_pollfd_t
*
fds
;
int32_t
numfds
;
int32_t
numfds
;
...
@@ -226,9 +226,9 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
...
@@ -226,9 +226,9 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
short
i
=
event_stream_framing
;
short
i
=
event_stream_framing
;
switch_size_t
size
=
1
;
switch_size_t
size
=
1
;
if
(
globals
.
event_stream_preallocate
>
0
)
{
if
(
kazoo_
globals
.
event_stream_preallocate
>
0
)
{
ebuf
.
buff
=
malloc
(
globals
.
event_stream_preallocate
);
ebuf
.
buff
=
malloc
(
kazoo_
globals
.
event_stream_preallocate
);
ebuf
.
buffsz
=
globals
.
event_stream_preallocate
;
ebuf
.
buffsz
=
kazoo_
globals
.
event_stream_preallocate
;
ebuf
.
index
=
0
;
ebuf
.
index
=
0
;
if
(
ebuf
.
buff
==
NULL
)
{
if
(
ebuf
.
buff
==
NULL
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Could not pre-allocate memory for mod_kazoo message
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Could not pre-allocate memory for mod_kazoo message
\n
"
);
...
@@ -241,7 +241,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
...
@@ -241,7 +241,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
ei_encode_switch_event
(
&
ebuf
,
event
);
ei_encode_switch_event
(
&
ebuf
,
event
);
if
(
globals
.
event_stream_preallocate
>
0
&&
ebuf
.
buffsz
>
globals
.
event_stream_preallocate
)
{
if
(
kazoo_globals
.
event_stream_preallocate
>
0
&&
ebuf
.
buffsz
>
kazoo_
globals
.
event_stream_preallocate
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_DEBUG
,
"increased event stream buffer size to %d
\n
"
,
ebuf
.
buffsz
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_DEBUG
,
"increased event stream buffer size to %d
\n
"
,
ebuf
.
buffsz
);
}
}
...
@@ -292,7 +292,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
...
@@ -292,7 +292,7 @@ static void *SWITCH_THREAD_FUNC event_stream_loop(switch_thread_t *thread, void
/* clean up the memory */
/* clean up the memory */
switch_core_destroy_memory_pool
(
&
event_stream
->
pool
);
switch_core_destroy_memory_pool
(
&
event_stream
->
pool
);
switch_atomic_dec
(
&
globals
.
threads
);
switch_atomic_dec
(
&
kazoo_
globals
.
threads
);
return
NULL
;
return
NULL
;
}
}
...
...
src/mod/event_handlers/mod_kazoo/kazoo_fetch_agent.c
浏览文件 @
a3ee7595
...
@@ -136,7 +136,7 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
...
@@ -136,7 +136,7 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
now
=
switch_micro_time_now
();
now
=
switch_micro_time_now
();
if
(
!
switch_test_flag
(
&
globals
,
LFLAG_RUNNING
))
{
if
(
!
switch_test_flag
(
&
kazoo_
globals
,
LFLAG_RUNNING
))
{
return
xml
;
return
xml
;
}
}
...
@@ -144,7 +144,7 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
...
@@ -144,7 +144,7 @@ static switch_xml_t fetch_handler(const char *section, const char *tag_name, con
switch_thread_rwlock_rdlock
(
agent
->
lock
);
switch_thread_rwlock_rdlock
(
agent
->
lock
);
/* serialize access to current, used to round-robin requests */
/* serialize access to current, used to round-robin requests */
/* TODO: check globals for round-robin boolean or loop all clients */
/* TODO: check
kazoo_
globals for round-robin boolean or loop all clients */
switch_mutex_lock
(
agent
->
current_client_mutex
);
switch_mutex_lock
(
agent
->
current_client_mutex
);
if
(
!
agent
->
current_client
)
{
if
(
!
agent
->
current_client
)
{
client
=
agent
->
clients
;
client
=
agent
->
clients
;
...
@@ -572,31 +572,31 @@ static switch_status_t handle_api_command_stream(ei_node_t *ei_node, switch_stre
...
@@ -572,31 +572,31 @@ static switch_status_t handle_api_command_stream(ei_node_t *ei_node, switch_stre
}
}
switch_status_t
bind_fetch_agents
()
{
switch_status_t
bind_fetch_agents
()
{
bind_fetch_agent
(
SWITCH_XML_SECTION_CONFIG
,
&
globals
.
config_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_CONFIG
,
&
kazoo_
globals
.
config_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_DIRECTORY
,
&
globals
.
directory_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_DIRECTORY
,
&
kazoo_
globals
.
directory_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_DIALPLAN
,
&
globals
.
dialplan_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_DIALPLAN
,
&
kazoo_
globals
.
dialplan_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_CHATPLAN
,
&
globals
.
chatplan_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_CHATPLAN
,
&
kazoo_
globals
.
chatplan_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_CHANNELS
,
&
globals
.
channels_fetch_binding
);
bind_fetch_agent
(
SWITCH_XML_SECTION_CHANNELS
,
&
kazoo_
globals
.
channels_fetch_binding
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
switch_status_t
unbind_fetch_agents
()
{
switch_status_t
unbind_fetch_agents
()
{
unbind_fetch_agent
(
&
globals
.
config_fetch_binding
);
unbind_fetch_agent
(
&
kazoo_
globals
.
config_fetch_binding
);
unbind_fetch_agent
(
&
globals
.
directory_fetch_binding
);
unbind_fetch_agent
(
&
kazoo_
globals
.
directory_fetch_binding
);
unbind_fetch_agent
(
&
globals
.
dialplan_fetch_binding
);
unbind_fetch_agent
(
&
kazoo_
globals
.
dialplan_fetch_binding
);
unbind_fetch_agent
(
&
globals
.
chatplan_fetch_binding
);
unbind_fetch_agent
(
&
kazoo_
globals
.
chatplan_fetch_binding
);
unbind_fetch_agent
(
&
globals
.
channels_fetch_binding
);
unbind_fetch_agent
(
&
kazoo_
globals
.
channels_fetch_binding
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
switch_status_t
remove_xml_clients
(
ei_node_t
*
ei_node
)
{
switch_status_t
remove_xml_clients
(
ei_node_t
*
ei_node
)
{
remove_xml_client
(
ei_node
,
globals
.
config_fetch_binding
);
remove_xml_client
(
ei_node
,
kazoo_
globals
.
config_fetch_binding
);
remove_xml_client
(
ei_node
,
globals
.
directory_fetch_binding
);
remove_xml_client
(
ei_node
,
kazoo_
globals
.
directory_fetch_binding
);
remove_xml_client
(
ei_node
,
globals
.
dialplan_fetch_binding
);
remove_xml_client
(
ei_node
,
kazoo_
globals
.
dialplan_fetch_binding
);
remove_xml_client
(
ei_node
,
globals
.
chatplan_fetch_binding
);
remove_xml_client
(
ei_node
,
kazoo_
globals
.
chatplan_fetch_binding
);
remove_xml_client
(
ei_node
,
globals
.
channels_fetch_binding
);
remove_xml_client
(
ei_node
,
kazoo_
globals
.
channels_fetch_binding
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
...
@@ -644,17 +644,17 @@ switch_status_t add_fetch_handler(ei_node_t *ei_node, erlang_pid *from, switch_x
...
@@ -644,17 +644,17 @@ switch_status_t add_fetch_handler(ei_node_t *ei_node, erlang_pid *from, switch_x
switch_thread_rwlock_unlock
(
agent
->
lock
);
switch_thread_rwlock_unlock
(
agent
->
lock
);
ei_link
(
ei_node
,
ei_self
(
&
globals
.
ei_cnode
),
from
);
ei_link
(
ei_node
,
ei_self
(
&
kazoo_
globals
.
ei_cnode
),
from
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
switch_status_t
remove_fetch_handlers
(
ei_node_t
*
ei_node
,
erlang_pid
*
from
)
{
switch_status_t
remove_fetch_handlers
(
ei_node_t
*
ei_node
,
erlang_pid
*
from
)
{
remove_fetch_handler
(
ei_node
,
from
,
globals
.
config_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
kazoo_
globals
.
config_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
globals
.
directory_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
kazoo_
globals
.
directory_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
globals
.
dialplan_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
kazoo_
globals
.
dialplan_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
globals
.
chatplan_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
kazoo_
globals
.
chatplan_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
globals
.
channels_fetch_binding
);
remove_fetch_handler
(
ei_node
,
from
,
kazoo_
globals
.
channels_fetch_binding
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
...
@@ -686,11 +686,11 @@ switch_status_t fetch_reply(char *uuid_str, char *xml_str, switch_xml_binding_t
...
@@ -686,11 +686,11 @@ switch_status_t fetch_reply(char *uuid_str, char *xml_str, switch_xml_binding_t
}
}
switch_status_t
handle_api_command_streams
(
ei_node_t
*
ei_node
,
switch_stream_handle_t
*
stream
)
{
switch_status_t
handle_api_command_streams
(
ei_node_t
*
ei_node
,
switch_stream_handle_t
*
stream
)
{
handle_api_command_stream
(
ei_node
,
stream
,
globals
.
config_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
kazoo_
globals
.
config_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
globals
.
directory_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
kazoo_
globals
.
directory_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
globals
.
dialplan_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
kazoo_
globals
.
dialplan_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
globals
.
chatplan_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
kazoo_
globals
.
chatplan_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
globals
.
channels_fetch_binding
);
handle_api_command_stream
(
ei_node
,
stream
,
kazoo_
globals
.
channels_fetch_binding
);
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
...
...
src/mod/event_handlers/mod_kazoo/kazoo_node.c
浏览文件 @
a3ee7595
差异被折叠。
点击展开。
src/mod/event_handlers/mod_kazoo/kazoo_utils.c
浏览文件 @
a3ee7595
...
@@ -142,7 +142,7 @@ switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port
...
@@ -142,7 +142,7 @@ switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port
switch_sockaddr_t
*
sa
;
switch_sockaddr_t
*
sa
;
switch_socket_t
*
socket
;
switch_socket_t
*
socket
;
if
(
switch_sockaddr_info_get
(
&
sa
,
globals
.
ip
,
SWITCH_UNSPEC
,
port
,
0
,
pool
))
{
if
(
switch_sockaddr_info_get
(
&
sa
,
kazoo_
globals
.
ip
,
SWITCH_UNSPEC
,
port
,
0
,
pool
))
{
return
NULL
;
return
NULL
;
}
}
...
@@ -162,9 +162,9 @@ switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port
...
@@ -162,9 +162,9 @@ switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port
return
NULL
;
return
NULL
;
}
}
switch_getnameinfo
(
&
globals
.
hostname
,
sa
,
0
);
switch_getnameinfo
(
&
kazoo_
globals
.
hostname
,
sa
,
0
);
// if (globals.nat_map && switch_nat_get_type()) {
// if (
kazoo_
globals.nat_map && switch_nat_get_type()) {
// switch_nat_add_mapping(port, SWITCH_NAT_TCP, NULL, SWITCH_FALSE);
// switch_nat_add_mapping(port, SWITCH_NAT_TCP, NULL, SWITCH_FALSE);
// }
// }
...
@@ -188,20 +188,20 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
...
@@ -188,20 +188,20 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
if
((
atsign
=
strchr
(
cnodename
,
'@'
)))
{
if
((
atsign
=
strchr
(
cnodename
,
'@'
)))
{
/* we got a qualified node name, don't guess the host/domain */
/* we got a qualified node name, don't guess the host/domain */
snprintf
(
nodename
,
MAXNODELEN
+
1
,
"%s"
,
globals
.
ei_nodename
);
snprintf
(
nodename
,
MAXNODELEN
+
1
,
"%s"
,
kazoo_
globals
.
ei_nodename
);
/* truncate the alivename at the @ */
/* truncate the alivename at the @ */
*
atsign
=
'\0'
;
*
atsign
=
'\0'
;
}
else
{
}
else
{
if
(
zstr
(
globals
.
hostname
)
||
!
strncasecmp
(
globals
.
ip
,
"0.0.0.0"
,
7
)
||
!
strncasecmp
(
globals
.
ip
,
"::"
,
2
))
{
if
(
zstr
(
kazoo_globals
.
hostname
)
||
!
strncasecmp
(
kazoo_globals
.
ip
,
"0.0.0.0"
,
7
)
||
!
strncasecmp
(
kazoo_
globals
.
ip
,
"::"
,
2
))
{
memcpy
(
hostname
,
switch_core_get_hostname
(),
EI_MAXHOSTNAMELEN
);
memcpy
(
hostname
,
switch_core_get_hostname
(),
EI_MAXHOSTNAMELEN
);
}
else
{
}
else
{
memcpy
(
hostname
,
globals
.
hostname
,
EI_MAXHOSTNAMELEN
);
memcpy
(
hostname
,
kazoo_
globals
.
hostname
,
EI_MAXHOSTNAMELEN
);
}
}
snprintf
(
nodename
,
MAXNODELEN
+
1
,
"%s@%s"
,
globals
.
ei_nodename
,
hostname
);
snprintf
(
nodename
,
MAXNODELEN
+
1
,
"%s@%s"
,
kazoo_
globals
.
ei_nodename
,
hostname
);
}
}
if
(
globals
.
ei_shortname
)
{
if
(
kazoo_
globals
.
ei_shortname
)
{
char
*
off
;
char
*
off
;
if
((
off
=
strchr
(
nodename
,
'.'
)))
{
if
((
off
=
strchr
(
nodename
,
'.'
)))
{
*
off
=
'\0'
;
*
off
=
'\0'
;
...
@@ -209,7 +209,7 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
...
@@ -209,7 +209,7 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
}
}
/* init the ec stuff */
/* init the ec stuff */
if
(
ei_connect_xinit
(
ei_cnode
,
hostname
,
cnodename
,
nodename
,
(
Erl_IpAddr
)
ip_addr
,
globals
.
ei_cookie
,
0
)
<
0
)
{
if
(
ei_connect_xinit
(
ei_cnode
,
hostname
,
cnodename
,
nodename
,
(
Erl_IpAddr
)
ip_addr
,
kazoo_
globals
.
ei_cookie
,
0
)
<
0
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Failed to initialize the erlang interface connection structure
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Failed to initialize the erlang interface connection structure
\n
"
);
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
}
}
...
@@ -654,9 +654,9 @@ static void *SWITCH_THREAD_FUNC fetch_config_filters_exec(switch_thread_t *threa
...
@@ -654,9 +654,9 @@ static void *SWITCH_THREAD_FUNC fetch_config_filters_exec(switch_thread_t *threa
switch_core_hash_insert
(
filter
,
var
,
"1"
);
switch_core_hash_insert
(
filter
,
var
,
"1"
);
}
}
old_filter
=
globals
.
event_filter
;
old_filter
=
kazoo_
globals
.
event_filter
;
globals
.
config_filters_fetched
=
1
;
kazoo_
globals
.
config_filters_fetched
=
1
;
globals
.
event_filter
=
filter
;
kazoo_
globals
.
event_filter
=
filter
;
if
(
old_filter
)
{
if
(
old_filter
)
{
switch_core_hash_destroy
(
&
old_filter
);
switch_core_hash_destroy
(
&
old_filter
);
}
}
...
...
src/mod/event_handlers/mod_kazoo/mod_kazoo.c
浏览文件 @
a3ee7595
差异被折叠。
点击展开。
src/mod/event_handlers/mod_kazoo/mod_kazoo.h
浏览文件 @
a3ee7595
...
@@ -122,7 +122,7 @@ struct globals_s {
...
@@ -122,7 +122,7 @@ struct globals_s {
int
io_fault_tolerance
;
int
io_fault_tolerance
;
};
};
typedef
struct
globals_s
globals_t
;
typedef
struct
globals_s
globals_t
;
extern
globals_t
globals
;
extern
globals_t
kazoo_
globals
;
/* kazoo_node.c */
/* kazoo_node.c */
switch_status_t
new_kazoo_node
(
int
nodefd
,
ErlConnect
*
conn
);
switch_status_t
new_kazoo_node
(
int
nodefd
,
ErlConnect
*
conn
);
...
...
src/mod/event_handlers/mod_rayo/rayo_cpa_component.c
浏览文件 @
a3ee7595
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
/**
/**
* Module globals
* Module globals
*/
*/
struct
{
st
atic
st
ruct
{
/** signal subscribers */
/** signal subscribers */
switch_hash_t
*
subscribers
;
switch_hash_t
*
subscribers
;
/** synchronizes access to subscribers */
/** synchronizes access to subscribers */
...
...
src/mod/languages/mod_managed/freeswitch_managed.h
浏览文件 @
a3ee7595
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
* Michael Giagnocavo <mgg@packetrino.com>
* Michael Giagnocavo <mgg@packetrino.com>
* Jeff Lenk <jlenk@frontiernet.net> - Modified class to support Dotnet
* Jeff Lenk <jlenk@frontiernet.net> - Modified class to support Dotnet
*
*
* freeswitch_managed.h -- Header for ManagedSession and globals
* freeswitch_managed.h -- Header for ManagedSession and
managed_
globals
*
*
*/
*/
...
@@ -60,13 +60,13 @@ struct mod_managed_globals {
...
@@ -60,13 +60,13 @@ struct mod_managed_globals {
#endif
#endif
};
};
typedef
struct
mod_managed_globals
mod_managed_globals
;
typedef
struct
mod_managed_globals
mod_managed_globals
;
extern
mod_managed_globals
globals
;
extern
mod_managed_globals
managed_
globals
;
#endif
#endif
#ifdef _MANAGED
#ifdef _MANAGED
#define ATTACH_THREADS
#define ATTACH_THREADS
#else
#else
#define ATTACH_THREADS mono_thread_attach(globals.domain);
#define ATTACH_THREADS mono_thread_attach(
managed_
globals.domain);
#endif
#endif
#ifdef WIN32
#ifdef WIN32
...
...
src/mod/languages/mod_managed/mod_managed.cpp
浏览文件 @
a3ee7595
...
@@ -67,7 +67,7 @@ SWITCH_STANDARD_API(managedlist_api_function); /* List modules */
...
@@ -67,7 +67,7 @@ SWITCH_STANDARD_API(managedlist_api_function); /* List modules */
#define MOD_MANAGED_IMAGE_NAME "FreeSWITCH"
#define MOD_MANAGED_IMAGE_NAME "FreeSWITCH"
#define MOD_MANAGED_CLASS_NAME "Loader"
#define MOD_MANAGED_CLASS_NAME "Loader"
mod_managed_globals
globals
=
{
0
};
mod_managed_globals
managed_
globals
=
{
0
};
// Global delegates to call managed functions
// Global delegates to call managed functions
typedef
int
(
*
runFunction
)(
const
char
*
data
,
void
*
sessionPtr
);
typedef
int
(
*
runFunction
)(
const
char
*
data
,
void
*
sessionPtr
);
...
@@ -201,14 +201,14 @@ switch_status_t loadRuntime()
...
@@ -201,14 +201,14 @@ switch_status_t loadRuntime()
#endif
#endif
switch_snprintf
(
filename
,
256
,
"%s%s%s"
,
SWITCH_GLOBAL_dirs
.
mod_dir
,
SWITCH_PATH_SEPARATOR
,
MOD_MANAGED_DLL
);
switch_snprintf
(
filename
,
256
,
"%s%s%s"
,
SWITCH_GLOBAL_dirs
.
mod_dir
,
SWITCH_PATH_SEPARATOR
,
MOD_MANAGED_DLL
);
globals
.
domain
=
mono_jit_init
(
filename
);
managed_
globals
.
domain
=
mono_jit_init
(
filename
);
/* Already got a Mono domain? */
/* Already got a Mono domain? */
if
((
globals
.
domain
=
mono_get_root_domain
()))
{
if
((
managed_
globals
.
domain
=
mono_get_root_domain
()))
{
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
globals
.
embedded
=
SWITCH_TRUE
;
managed_
globals
.
embedded
=
SWITCH_TRUE
;
}
else
{
}
else
{
if
(
!
(
globals
.
domain
=
mono_jit_init
(
filename
)))
{
if
(
!
(
managed_
globals
.
domain
=
mono_jit_init
(
filename
)))
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"mono_jit_init failed.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"mono_jit_init failed.
\n
"
);
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
}
}
...
@@ -221,11 +221,11 @@ switch_status_t loadRuntime()
...
@@ -221,11 +221,11 @@ switch_status_t loadRuntime()
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Calling mono_assembly_loaded.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Calling mono_assembly_loaded.
\n
"
);
if
(
!
(
globals
.
mod_mono_asm
=
mono_assembly_loaded
(
name
)))
{
if
(
!
(
managed_
globals
.
mod_mono_asm
=
mono_assembly_loaded
(
name
)))
{
/* Open the assembly */
/* Open the assembly */
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Calling mono_domain_assembly_open.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Calling mono_domain_assembly_open.
\n
"
);
globals
.
mod_mono_asm
=
mono_domain_assembly_open
(
globals
.
domain
,
filename
);
managed_globals
.
mod_mono_asm
=
mono_domain_assembly_open
(
managed_
globals
.
domain
,
filename
);
if
(
!
globals
.
mod_mono_asm
)
{
if
(
!
managed_
globals
.
mod_mono_asm
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"mono_domain_assembly_open failed.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"mono_domain_assembly_open failed.
\n
"
);
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
}
}
...
@@ -254,14 +254,14 @@ switch_status_t findLoader()
...
@@ -254,14 +254,14 @@ switch_status_t findLoader()
{
{
/* Find loader class and methods */
/* Find loader class and methods */
MonoClass
*
loaderClass
;
MonoClass
*
loaderClass
;
MonoImage
*
img
=
mono_assembly_get_image
(
globals
.
mod_mono_asm
);
MonoImage
*
img
=
mono_assembly_get_image
(
managed_
globals
.
mod_mono_asm
);
if
(
!
(
loaderClass
=
mono_class_from_name
(
img
,
MOD_MANAGED_IMAGE_NAME
,
MOD_MANAGED_CLASS_NAME
)))
{
if
(
!
(
loaderClass
=
mono_class_from_name
(
img
,
MOD_MANAGED_IMAGE_NAME
,
MOD_MANAGED_CLASS_NAME
)))
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Could not find "
MOD_MANAGED_IMAGE_NAME
"."
MOD_MANAGED_CLASS_NAME
" class.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Could not find "
MOD_MANAGED_IMAGE_NAME
"."
MOD_MANAGED_CLASS_NAME
" class.
\n
"
);
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
}
}
if
(
!
(
globals
.
loadMethod
=
getMethod
(
MOD_MANAGED_IMAGE_NAME
"."
MOD_MANAGED_CLASS_NAME
":Load()"
,
loaderClass
)))
{
if
(
!
(
managed_
globals
.
loadMethod
=
getMethod
(
MOD_MANAGED_IMAGE_NAME
"."
MOD_MANAGED_CLASS_NAME
":Load()"
,
loaderClass
)))
{
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
}
}
...
@@ -317,7 +317,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load)
...
@@ -317,7 +317,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load)
*
module_interface
=
switch_loadable_module_create_module_interface
(
pool
,
modname
);
*
module_interface
=
switch_loadable_module_create_module_interface
(
pool
,
modname
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Loading mod_managed (Common Language Infrastructure), "
MOD_MANAGED_VERSION
"
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_INFO
,
"Loading mod_managed (Common Language Infrastructure), "
MOD_MANAGED_VERSION
"
\n
"
);
globals
.
pool
=
pool
;
managed_
globals
.
pool
=
pool
;
if
(
loadRuntime
()
!=
SWITCH_STATUS_SUCCESS
)
{
if
(
loadRuntime
()
!=
SWITCH_STATUS_SUCCESS
)
{
return
SWITCH_STATUS_FALSE
;
return
SWITCH_STATUS_FALSE
;
...
@@ -340,11 +340,11 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load)
...
@@ -340,11 +340,11 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load)
}
}
#else
#else
/* Not sure if this is necesary on the loading thread */
/* Not sure if this is necesary on the loading thread */
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
/* Run loader */
/* Run loader */
MonoObject
*
exception
=
NULL
;
MonoObject
*
exception
=
NULL
;
MonoObject
*
objResult
=
mono_runtime_invoke
(
globals
.
loadMethod
,
NULL
,
NULL
,
&
exception
);
MonoObject
*
objResult
=
mono_runtime_invoke
(
managed_
globals
.
loadMethod
,
NULL
,
NULL
,
&
exception
);
if
(
exception
)
{
if
(
exception
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Load threw an exception.
\n
"
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Load threw an exception.
\n
"
);
mono_print_unhandled_exception
(
exception
);
mono_print_unhandled_exception
(
exception
);
...
@@ -381,7 +381,7 @@ SWITCH_STANDARD_API(managedrun_api_function)
...
@@ -381,7 +381,7 @@ SWITCH_STANDARD_API(managedrun_api_function)
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
#ifndef _MANAGED
#ifndef _MANAGED
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
#endif
#endif
if
(
executeBackgroundDelegate
(
cmd
))
{
if
(
executeBackgroundDelegate
(
cmd
))
{
stream
->
write_function
(
stream
,
"+OK
\n
"
);
stream
->
write_function
(
stream
,
"+OK
\n
"
);
...
@@ -401,7 +401,7 @@ SWITCH_STANDARD_API(managed_api_function)
...
@@ -401,7 +401,7 @@ SWITCH_STANDARD_API(managed_api_function)
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
#ifndef _MANAGED
#ifndef _MANAGED
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
#endif
#endif
if
(
!
(
executeDelegate
(
cmd
,
stream
,
stream
->
param_event
)))
{
if
(
!
(
executeDelegate
(
cmd
,
stream
,
stream
->
param_event
)))
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Execute failed for %s (unknown module or exception).
\n
"
,
cmd
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Execute failed for %s (unknown module or exception).
\n
"
,
cmd
);
...
@@ -419,7 +419,7 @@ SWITCH_STANDARD_APP(managed_app_function)
...
@@ -419,7 +419,7 @@ SWITCH_STANDARD_APP(managed_app_function)
return
;
return
;
}
}
#ifndef _MANAGED
#ifndef _MANAGED
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
#endif
#endif
if
(
!
(
runDelegate
(
data
,
session
)))
{
if
(
!
(
runDelegate
(
data
,
session
)))
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Application run failed for %s (unknown module or exception).
\n
"
,
data
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Application run failed for %s (unknown module or exception).
\n
"
,
data
);
...
@@ -436,7 +436,7 @@ SWITCH_STANDARD_API(managedreload_api_function)
...
@@ -436,7 +436,7 @@ SWITCH_STANDARD_API(managedreload_api_function)
return
SWITCH_STATUS_SUCCESS
;
return
SWITCH_STATUS_SUCCESS
;
}
}
#ifndef _MANAGED
#ifndef _MANAGED
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
#endif
#endif
if
(
!
(
reloadDelegate
(
cmd
)))
{
if
(
!
(
reloadDelegate
(
cmd
)))
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Execute failed for %s (unknown module or exception).
\n
"
,
cmd
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"Execute failed for %s (unknown module or exception).
\n
"
,
cmd
);
...
@@ -450,7 +450,7 @@ SWITCH_STANDARD_API(managedreload_api_function)
...
@@ -450,7 +450,7 @@ SWITCH_STANDARD_API(managedreload_api_function)
SWITCH_STANDARD_API
(
managedlist_api_function
)
SWITCH_STANDARD_API
(
managedlist_api_function
)
{
{
#ifndef _MANAGED
#ifndef _MANAGED
mono_thread_attach
(
globals
.
domain
);
mono_thread_attach
(
managed_
globals
.
domain
);
#endif
#endif
listDelegate
(
cmd
,
stream
,
stream
->
param_event
);
listDelegate
(
cmd
,
stream
,
stream
->
param_event
);
#ifndef _MANAGED
#ifndef _MANAGED
...
...
src/mod/languages/mod_managed/mono28.patch
浏览文件 @
a3ee7595
...
@@ -36,7 +36,7 @@ index 1d0b6a7..13ffe5d 100644
...
@@ -36,7 +36,7 @@ index 1d0b6a7..13ffe5d 100644
#include <mono/jit/jit.h>
#include <mono/jit/jit.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/environment.h>
#include <mono/metadata/environment.h>
@@ -73,7 +72,7 @@ extern mod_managed_globals globals;
@@ -73,7 +72,7 @@ extern mod_managed_globals
managed_
globals;
#ifdef WIN32
#ifdef WIN32
#define RESULT_FREE(x) CoTaskMemFree(x)
#define RESULT_FREE(x) CoTaskMemFree(x)
#else
#else
...
@@ -68,8 +68,8 @@ index ec2d866..87e831f 100644
...
@@ -68,8 +68,8 @@ index ec2d866..87e831f 100644
+
+
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_assembly_loaded.\n");
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_assembly_loaded.\n");
- if (!(globals.mod_mono_asm = mono_assembly_loaded(&name))) {
- if (!(
managed_
globals.mod_mono_asm = mono_assembly_loaded(&name))) {
+ if (!(globals.mod_mono_asm = mono_assembly_loaded(name))) {
+ if (!(
managed_
globals.mod_mono_asm = mono_assembly_loaded(name))) {
/* Open the assembly */
/* Open the assembly */
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_domain_assembly_open.\n");
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_domain_assembly_open.\n");
globals.mod_mono_asm = mono_domain_assembly_open(
globals.domain, filename);
managed_globals.mod_mono_asm = mono_domain_assembly_open(managed_
globals.domain, filename);
src/mod/languages/mod_v8/mod_v8.cpp
浏览文件 @
a3ee7595
...
@@ -122,7 +122,7 @@ typedef struct {
...
@@ -122,7 +122,7 @@ typedef struct {
char
*
xml_handler
;
char
*
xml_handler
;
}
mod_v8_global_t
;
}
mod_v8_global_t
;
mod_v8_global_t
globals
=
{
0
};
static
mod_v8_global_t
globals
=
{
0
};
/* Loadable module struct, used for external extension modules */
/* Loadable module struct, used for external extension modules */
typedef
struct
{
typedef
struct
{
...
...
src/mod/xml_int/mod_xml_rpc/ws.c
浏览文件 @
a3ee7595
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
#endif
#endif
#define SHA1_HASH_SIZE 20
#define SHA1_HASH_SIZE 20
struct
globals_s
globals
;
st
atic
st
ruct
globals_s
globals
;
#ifndef WSS_STANDALONE
#ifndef WSS_STANDALONE
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论