Modified: freeswitch/branches/gmaruzz/mod_celliax/celliax.h (14632 => 14633)
--- freeswitch/branches/gmaruzz/mod_celliax/celliax.h 2009-08-25 10:07:07 UTC (rev 14632)
+++ freeswitch/branches/gmaruzz/mod_celliax/celliax.h 2009-08-25 11:51:55 UTC (rev 14633)
@@ -483,8 +483,10 @@
#define PUSHA_UNLOCKA(x) if(option_debug > 100) ERRORA("PUSHA_UNLOCKA: %p\n", SKYPIAX_P_LOG, (void *)x);
#define POPPA_UNLOCKA(x) if(option_debug > 100) ERRORA("POPPA_UNLOCKA: %p\n", SKYPIAX_P_LOG, (void *)x);
-#define LOKKA(x) if(option_debug > 100) ERRORA("LOKKA: %p\n", SKYPIAX_P_LOG, (void *)x);
-#define UNLOCKA(x) if(option_debug > 100) ERRORA("UNLOCKA: %p\n", SKYPIAX_P_LOG, (void *)x);
+//#define LOKKA(x) if(option_debug > 100) ERRORA("LOKKA: %p\n", SKYPIAX_P_LOG, (void *)x);
+#define LOKKA(x) switch_mutex_lock(x);
+#define UNLOCKA(x) switch_mutex_unlock(x);
+//#define UNLOCKA(x) if(option_debug > 100) ERRORA("UNLOCKA: %p\n", SKYPIAX_P_LOG, (void *)x);
#define celliax_queue_control(x, y) ERRORA("celliax_queue_control: %p, %d\n", SKYPIAX_P_LOG, (void *)x, y);
Modified: freeswitch/branches/gmaruzz/mod_celliax/celliax_protocol.c (14632 => 14633)
--- freeswitch/branches/gmaruzz/mod_celliax/celliax_protocol.c 2009-08-25 10:07:07 UTC (rev 14632)
+++ freeswitch/branches/gmaruzz/mod_celliax/celliax_protocol.c 2009-08-25 11:51:55 UTC (rev 14633)
@@ -1869,8 +1869,8 @@
timeout.tv_sec = timeout_sec;
timeout.tv_usec = timeout_usec;
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
while ((select_err = select(tech_pvt->controldevfd + 1, &read_fds, NULL, NULL, &timeout)) > 0) {
timeout.tv_sec = timeout_sec; //reset the timeout, linux modify it
@@ -1884,7 +1884,7 @@
SKYPIAX_P_LOG, tech_pvt->controldevice_name);
tech_pvt->controldev_dead = 1;
close(tech_pvt->controldevfd);
- UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
if (tech_pvt->owner) {
tech_pvt->owner->hangupcause = SKYPIAX_CAUSE_FAILURE;
celliax_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_HANGUP);
@@ -2889,8 +2889,8 @@
}
}
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
if (select_err == -1) {
ERRORA("select returned -1 on %s, setting controldev_dead, error was: %s\n",
SKYPIAX_P_LOG, tech_pvt->controldevice_name, strerror(errno));
@@ -3087,16 +3087,16 @@
if (option_debug > 1)
DEBUGA_SKYPE("celliax_serial_write_AT_noack: %s\n", SKYPIAX_P_LOG, data);
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
if (celliax_serial_write_AT(tech_pvt, data) != strlen(data)) {
ERRORA("Error sending data... (%s)\n", SKYPIAX_P_LOG, strerror(errno));
- UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
return -1;
}
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return 0;
}
@@ -3105,19 +3105,19 @@
{
int at_result = AT_ERROR;
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
if (option_debug > 1)
DEBUGA_SKYPE("sending: %s\n", SKYPIAX_P_LOG, data);
if (celliax_serial_write_AT(tech_pvt, data) != strlen(data)) {
ERRORA("Error sending data... (%s) \n", SKYPIAX_P_LOG, strerror(errno));
- UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
return -1;
}
at_result = celliax_serial_read_AT(tech_pvt, 1, 500000, 2, NULL, 1); // 2.5 sec timeout
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return at_result;
@@ -3127,19 +3127,19 @@
{
int at_result = AT_ERROR;
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
if (option_debug > 1)
DEBUGA_SKYPE("sending: %s\n", SKYPIAX_P_LOG, data);
if (celliax_serial_write_AT_nocr(tech_pvt, data) != strlen(data)) {
ERRORA("Error sending data... (%s) \n", SKYPIAX_P_LOG, strerror(errno));
- UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
return -1;
}
at_result = celliax_serial_read_AT(tech_pvt, 1, 500000, 20, NULL, 1); // 20.5 sec timeout
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return at_result;
@@ -3151,19 +3151,19 @@
{
int at_result = AT_ERROR;
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
if (option_debug > 1)
DEBUGA_SKYPE("sending: %s, expecting: %s\n", SKYPIAX_P_LOG, data, expected_string);
if (celliax_serial_write_AT(tech_pvt, data) != strlen(data)) {
ERRORA("Error sending data... (%s) \n", SKYPIAX_P_LOG, strerror(errno));
- UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
return -1;
}
at_result = celliax_serial_read_AT(tech_pvt, 1, 500000, seconds, expected_string, expect_crlf); // 20.5 sec timeout, used for querying the SIM and sending SMSs
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return at_result;
@@ -3174,14 +3174,14 @@
{
int at_result = AT_ERROR;
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
if (option_debug > 1)
DEBUGA_SKYPE("expecting: %s\n", SKYPIAX_P_LOG, expected_string);
at_result = celliax_serial_read_AT(tech_pvt, 1, 500000, seconds, expected_string, expect_crlf); // 20.5 sec timeout, used for querying the SIM and sending SMSs
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return at_result;
@@ -3529,11 +3529,11 @@
}
#ifndef ASTERISK_VERSION_1_4
/* subtract one to the usage count of Celliax-type channels */
- LOKKA(&celliax_usecnt_lock);
+ LOKKA(celliax_usecnt_lock);
celliax_usecnt--;
if (celliax_usecnt < 0)
ERRORA("Usecnt < 0???\n", SKYPIAX_P_LOG);
- UNLOCKA(&celliax_usecnt_lock);
+ UNLOCKA(celliax_usecnt_lock);
ast_update_use_count();
#else /* ASTERISK_VERSION_1_4 */
ast_module_unref(ast_module_info->self);
@@ -3654,8 +3654,8 @@
}
}
- PUSHA_UNLOCKA(&tech_pvt->controldev_lock);
- LOKKA(&tech_pvt->controldev_lock);
+ PUSHA_UNLOCKA(tech_pvt->controldev_lock);
+ LOKKA(tech_pvt->controldev_lock);
res = celliax_serial_write_AT_ack(tech_pvt, "AT");
if (res) {
ERRORA("AT was not acknowledged, continuing but maybe there is a problem\n",
@@ -3791,8 +3791,8 @@
}
}
- UNLOCKA(&tech_pvt->controldev_lock);
- POPPA_UNLOCKA(&tech_pvt->controldev_lock);
+ UNLOCKA(tech_pvt->controldev_lock);
+ POPPA_UNLOCKA(tech_pvt->controldev_lock);
return 0;
}