DD_LIST_APPEND(bdev->op_queue, op);
th_manager[thread_id].op_len++;
- if (th_manager[thread_id].op_len == 1 && !start_th)
+ if (th_manager[thread_id].op_len == 1 && start_th)
pthread_cond_signal(&(th_manager[thread_id].cond));
pthread_mutex_unlock(&(th_manager[thread_id].mutex));
_E("app2ext_disable_all_external_pkgs() failed");
- if (start_th) {
+ if (!start_th) {
_D("Start New thread for block device");
- th_manager[thread_id].start_th = false;
+ th_manager[thread_id].start_th = true;
ret = pthread_create(&(th_manager[thread_id].th), NULL, block_th_start, &th_manager[thread_id]);
if (ret != 0) {
_E("fail to create thread for %s", bdev->data->devnode);
for (i = 0; i < THREAD_MAX; i++) {
th_manager[i].num_dev = 0;
th_manager[i].op_len = 0;
- th_manager[i].start_th = true;
+ th_manager[i].start_th = false;
th_manager[i].thread_id = i;
pthread_mutex_init(&(th_manager[i].mutex), NULL);
pthread_cond_init(&(th_manager[i].cond), NULL);
remove_whole_block_device();
for (i = 0; i < THREAD_MAX; i++) {
- if (!th_manager[i].start_th)
+ if (th_manager[i].start_th)
pthread_cancel(th_manager[i].th);
DD_LIST_FOREACH_SAFE(th_manager[i].th_node_list, elem, elem_next, temp) {
DD_LIST_REMOVE(th_manager[i].th_node_list, temp);