Author: damitha
Date: Mon Sep 17 04:15:12 2007
New Revision: 576372
URL: http://svn.apache.org/viewvc?rev=576372&view=rev
Log:
When db file path is wrong the server seg faults when trying to load savan
module. fixed this.
Modified:
webservices/savan/trunk/c/src/core/mod_savan.c
webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c
webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c
webservices/savan/trunk/c/src/util/db_mgr.c
Modified: webservices/savan/trunk/c/src/core/mod_savan.c
URL:
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/core/mod_savan.c?rev=576372&r1=576371&r2=576372&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/core/mod_savan.c (original)
+++ webservices/savan/trunk/c/src/core/mod_savan.c Mon Sep 17 04:15:12 2007
@@ -81,25 +81,24 @@
"filter varchar(200), topic_name varchar(100), "\
"renewed boolean)";
db_mgr = savan_db_mgr_create(env, conf_ctx);
- dbconn = savan_db_mgr_get_dbconn(db_mgr, env);
- if (!dbconn)
+ if(db_mgr)
+ dbconn = savan_db_mgr_get_dbconn(db_mgr, env);
+ if(dbconn)
{
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not connect to
databse");
- return AXIS2_FAILURE;
+ rc = sqlite3_exec(dbconn, sql_stmt1, NULL, 0, &error_msg);
+ if( rc != SQLITE_OK )
+ {
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "SQL Error: %s",
error_msg);
+ sqlite3_free(error_msg);
+ }
+ rc = sqlite3_exec(dbconn, sql_stmt2, NULL, 0, &error_msg);
+ if( rc != SQLITE_OK )
+ {
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "SQL Error: %s",
error_msg);
+ sqlite3_free(error_msg);
+ }
+ sqlite3_close(dbconn);
}
- rc = sqlite3_exec(dbconn, sql_stmt1, NULL, 0, &error_msg);
- if( rc != SQLITE_OK )
- {
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "SQL Error: %s", error_msg);
- sqlite3_free(error_msg);
- }
- rc = sqlite3_exec(dbconn, sql_stmt2, NULL, 0, &error_msg);
- if( rc != SQLITE_OK )
- {
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "SQL Error: %s", error_msg);
- sqlite3_free(error_msg);
- }
- sqlite3_close(dbconn);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[SAVAN] End:mod_savan_init");
return AXIS2_SUCCESS;
}
Modified: webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c
URL:
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c?rev=576372&r1=576371&r2=576372&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c (original)
+++ webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c Mon Sep 17 04:15:12 2007
@@ -456,11 +456,6 @@
return NULL;
}
- /* create the body of the subscribers element */
- ns = axiom_namespace_create (env, EVENTING_NAMESPACE, EVENTING_NS_PREFIX);
- ns1 = axiom_namespace_create (env, SAVAN_NAMESPACE, SAVAN_NS_PREFIX);
- subs_list_elem = axiom_element_create(env, NULL, ELEM_NAME_SUBSCRIBERS,
ns1,
- &subs_list_node);
sprintf(sql_retrieve, "select id, end_to, notify_to, delivery_mode, "\
"expires, filter, topic_url, renewed from subscriber, topic where "\
"subscriber.topic_name=topic.topic_name and topic.topic_name='%s';",
@@ -469,7 +464,18 @@
if(db_mgr)
subs_store = savan_db_mgr_retrieve_all(db_mgr, env,
savan_db_mgr_subs_find_callback, sql_retrieve);
- size = axutil_array_list_size(subs_store, env);
+ if(subs_store)
+ {
+ size = axutil_array_list_size(subs_store, env);
+ if(size > 0)
+ {
+ /* create the body of the subscribers element */
+ ns = axiom_namespace_create (env, EVENTING_NAMESPACE,
EVENTING_NS_PREFIX);
+ ns1 = axiom_namespace_create (env, SAVAN_NAMESPACE,
SAVAN_NS_PREFIX);
+ subs_list_elem = axiom_element_create(env, NULL,
ELEM_NAME_SUBSCRIBERS, ns1,
+ &subs_list_node);
+ }
+ }
for(i = 0; i < size; i++)
{
savan_subscriber_t * subscriber = axutil_array_list_get(subs_store,
Modified: webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c
URL:
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c?rev=576372&r1=576371&r2=576372&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c (original)
+++ webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c Mon Sep 17 04:15:12
2007
@@ -108,16 +108,6 @@
axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env)
{
- svc_skeleton->func_array = axutil_array_list_create(env, 0);
- /* Add the implemented operation names of the service to
- * the array list of functions
- */
- axutil_array_list_add(svc_skeleton->func_array, env, "add_subscriber");
- axutil_array_list_add(svc_skeleton->func_array, env, "remove_subscriber");
- axutil_array_list_add(svc_skeleton->func_array, env, "get_subscriber");
- axutil_array_list_add(svc_skeleton->func_array, env,
"get_subscriber_list");
- axutil_array_list_add(svc_skeleton->func_array, env, "add_topic");
- axutil_array_list_add(svc_skeleton->func_array, env, "get_topic_list");
return AXIS2_SUCCESS;
}
Modified: webservices/savan/trunk/c/src/util/db_mgr.c
URL:
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/util/db_mgr.c?rev=576372&r1=576371&r2=576372&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/util/db_mgr.c (original)
+++ webservices/savan/trunk/c/src/util/db_mgr.c Mon Sep 17 04:15:12 2007
@@ -604,6 +604,7 @@
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Can't open database: %s"
" sqlite error: %s\n", path, sqlite3_errmsg(dbconn));
sqlite3_close(dbconn);
+ dbconn = NULL;
return NULL;
}
return dbconn;