CDEBUG(NULL, NULL, "Ignoring message %d, because socket is closed.\n", message_type);
return -1;
}
CDEBUG(NULL, NULL, "Ignoring message %d, because socket is closed.\n", message_type);
return -1;
}
- CDEBUG(NULL, NULL, "Sending %s to socket.\n", messages_txt[message_type]);
+ CDEBUG(NULL, NULL, "Sending %s to socket. (ref=%d)\n", messages_txt[message_type], ref);
- CDEBUG(call, call->ast, "Requesting B-channel.\n");
+ CDEBUG(call, call->ast, "Requesting B-channel. (ref=%d)\n", call->ref);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
/* request bchannel, if call is resumed and we don't have it */
if (param->notifyinfo.notify == INFO_NOTIFY_USER_RESUMED && !call->bchannel && call->ref) {
/* request bchannel, if call is resumed and we don't have it */
if (param->notifyinfo.notify == INFO_NOTIFY_USER_RESUMED && !call->bchannel && call->ref) {
- CDEBUG(call, call->ast, "Reqesting bchannel at resume.\n");
+ CDEBUG(call, call->ast, "Reqesting bchannel at resume. (ref=%d)\n", call->ref);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
- CDEBUG(call, call->ast, "Requesting B-channel.\n");
+ CDEBUG(call, call->ast, "Requesting B-channel. (ref=%d)\n", call->ref);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
memset(&newparam, 0, sizeof(union parameter));
newparam.bchannel.type = BCHANNEL_REQUEST;
send_message(MESSAGE_BCHANNEL, call->ref, &newparam);
handle_queue();
select_main(0, &global_change, lock_chan, unlock_chan);
}
handle_queue();
select_main(0, &global_change, lock_chan, unlock_chan);
}
- close_socket();
-
- del_timer(&socket_retry);
-
- unregister_fd(&wake_fd);
- close(wake_pipe[0]);
- close(wake_pipe[1]);
-
- CERROR(NULL, NULL, "Thread exit.\n");
-
- ast_mutex_unlock(&chan_lock);
-
if ((pthread_create(&chan_tid, NULL, chan_thread, NULL)<0)) {
/* failed to create thread */
bchannel_deinitialize();
if ((pthread_create(&chan_tid, NULL, chan_thread, NULL)<0)) {
/* failed to create thread */
bchannel_deinitialize();
- CDEBUG(NULL, NULL, "-- Unregistering mISDN Channel Driver --\n");
+ CDEBUG(NULL, NULL, "-- Unregistering Linux-Call-Router Channel Driver --\n");
+
+ pthread_cancel(chan_tid);
+
+ close_socket();
- quit = 1;
- pthread_join(chan_tid, NULL);
+ del_timer(&socket_retry);
+
+ unregister_fd(&wake_fd);
+ close(wake_pipe[0]);
+ close(wake_pipe[1]);
+
+// ast_mutex_unlock(&chan_lock);