Index: tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl	(revision 542c12b8e1d5443d27ef41073f1a0f7049812010)
+++ tolsh/tolsh.vfs/lib/app-tolsh/tolsh.tcl	(revision 2ef94a446dda70983c1897ee5a1126dcb4db1a16)
@@ -380,5 +380,5 @@
   }
 
-  set tolcomm_dir [file join [GetHomeDir] tolcomm] 
+  set tolcomm_dir [file join [GetHomeDir] ".tol" "tolcomm"] 
   file mkdir $tolcomm_dir
 
Index: tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl	(revision 542c12b8e1d5443d27ef41073f1a0f7049812010)
+++ tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl	(revision 2ef94a446dda70983c1897ee5a1126dcb4db1a16)
@@ -29,8 +29,4 @@
     queue,cancel ""
   }
-  
-  variable trace_active
-  
-  set trace_active 0
 }
 
@@ -481,4 +477,6 @@
   tequila::open localhost 20458
   tequila::attach shared_data
+  
+  # this trace is just for debbuging, it's not necesary actually
   trace add var shared_data write tolserver::server_listen
 }    
@@ -533,4 +531,5 @@
   set idtask "${client}:$data(queue,id)"
   push_queue_tasks [list $idtask $idrq $chan $tol_expr]
+
   log "debug" "leave, insert_expr, $idtask"
   set idtask
@@ -540,5 +539,5 @@
   variable data
 
-  log "debug" "tolserver::push_queue_tasks:item=$item"
+  log "debug" "push_queue_tasks:item=$item"
   lappend data(queue,tasks) $item
 }
@@ -546,29 +545,25 @@
 proc ::tolserver::dispatch_to_slave {} {
   global shared_data
-  variable trace_active
-
-  log "debug" "tolserver::dispatch_to_slave"
-  if {$shared_data(slave_status) eq "ready"} {
-    send_tasks_to_slave
-  } else {
-    set trace_active 1
-    trace add var shared_data(slave_status) write ::tolserver::send_tasks_to_slave
-  }
+
+  log "debug" "enter dispatch_to_slave"
+  if {$shared_data(slave_status) ne "ready"} {
+    log "debug" "dispatch_to_slave: vwait shared_data(slave_status)"
+    vwait shared_data(slave_status)
+  }
+  send_tasks_to_slave
+  log "debug" "leave dispatch_to_slave"
 }
 
 proc ::tolserver::send_tasks_to_slave {} {
   global shared_data
-  variable trace_active
-
-  if {$trace_active == 1} {
-    trace remove var shared_data(slave_status) write ::tolserver::send_tasks_to_slave
-    set trace_active 0
-  }
-  log "debug" "tolserver::send_tasks_to_slave"
+
+  log "debug" "enter send_tasks_to_slave"
   set t_list [get_queue_tasks]
   set_queue_shared $t_list
-  if {$shared_data(ack) eq 0} {
-    vwait shared_data(ack)
-  }
+  #if {$shared_data(ack) == 0} {
+    #log "debug" "send_tasks_to_slave: vwait shared_data(ack)"
+    #vwait shared_data(ack)
+  #}
+  log "debug" "leave send_tasks_to_slave"
 }
 
@@ -578,5 +573,5 @@
   set t_list $data(queue,tasks)
   set data(queue,tasks) [list]
-  log "debug" "tolserver::get_queue_tasks:t_list=$t_list"
+  log "debug" "get_queue_tasks:t_list=$t_list"
   return $t_list
 }
@@ -585,5 +580,5 @@
   global shared_data
   
-  log "debug" "tolserver::set_queue_shared:t_list=$t_list"
+  log "debug" "set_queue_shared:t_list=$t_list"
   set shared_data(request) $t_list
 }
Index: tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl	(revision 542c12b8e1d5443d27ef41073f1a0f7049812010)
+++ tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl	(revision 2ef94a446dda70983c1897ee5a1126dcb4db1a16)
@@ -26,5 +26,5 @@
 
 global shared_data
-set shared_data(ack) 0
+#set shared_data(ack) 0
 set shared_data(slave_status) "busy"
 
@@ -76,5 +76,5 @@
   # Compile expression and tol file provided in the command line
   #
-  if {$shared_data(server_init) eq 0} {
+  if {$shared_data(server_init) == 0} {
     vwait shared_data(server_init)
   }
@@ -89,6 +89,7 @@
   }
 
-  set shared_data(ack) 0
+  #set shared_data(ack) 0
   set shared_data(slave_status) "ready"
+  log "debug" "leave start"
 }
 
@@ -99,5 +100,6 @@
   tequila::open localhost 20458
   tequila::attach shared_data
-  trace add var shared_data(request) write tolslave::slave_listen
+  #trace add var shared_data(request) write tolslave::slave_listen
+  trace add var shared_data write tolslave::slave_listen
 }    
 
@@ -105,8 +107,11 @@
   global shared_data
 
-  log "debug" "slave_listen:index=$index"
+  log "debug" "enter slave_listen:index=$index"
   log "debug" "[array get ::shared_data]"
-  set shared_data(ack) 0
-  schedule_queue
+  #set shared_data(ack) 0
+  if {$index eq "request"} {
+    schedule_queue
+  }
+  log "debug" "leave slave_listen"
 }
 
@@ -118,5 +123,5 @@
   set_queue_tasks $t_list
   after idle [process_queue]
-  set shared_data(ack) 1
+  #set shared_data(ack) 1
   log "debug" "leave, schedule_queue"
 }
@@ -126,6 +131,5 @@
 
   set t_list $shared_data(request)
-  #tequila::privTracer "shared_data" "request" "w"
-  log "debug" "tolslave::get_queue_shared:t_list=$t_list"
+  log "debug" "get_queue_shared:t_list=$t_list"
   return $t_list
 }
@@ -134,5 +138,5 @@
   variable data
 
-  log "debug" "tolslave::set_queue_tasks:t_list=$t_list"
+  log "debug" "set_queue_tasks:t_list=$t_list"
   #lappend data(queue,tasks) {*}$t_list
   set data(queue,tasks) $t_list
@@ -141,4 +145,5 @@
 proc ::tolslave::process_queue { } {
   variable data
+  global shared_data
 
   log "debug" "enter, process_queue"
@@ -149,5 +154,5 @@
     foreach {idtask idrq chan tol_expr} $item break
     set idx [lsearch $data(queue,cancel) $idrq]
-    log "debug" "::tolslave::process_queue idx=$idx, idtask=$idtask"
+    log "debug" "process_queue idx=$idx, idtask=$idtask"
     if {$idx != -1} {
       log debug "canceling task $idtask"
@@ -163,5 +168,5 @@
   }
   set shared_data(slave_status) "ready"
-  #tequila::GetAll "shared_data"
+  #tequila::do GetAll shared_data
   log "debug" "leave, process_queue"
 }
