Index: tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl	(revision 13bedb153b3a7468a2455d6eeafb346c87bc86ac)
+++ tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl	(revision 1f82c0121087f58778f0ee9e8531beddcd5a9499)
@@ -31,8 +31,10 @@
 }
 
-global shared_data
-set shared_data(request) ""
-set shared_data(init) ""
-set shared_data(server_init) 0
+global shared_tasks
+set shared_tasks(request) ""
+set shared_tasks(init) ""
+set shared_tasks(server_init) 0
+
+global shared_state
 
 ###############################################################################
@@ -445,5 +447,5 @@
 ###############################################################################
 proc ::tolserver::start { args } {
-  global shared_data
+  global shared_tasks
 
   array set options {
@@ -466,25 +468,37 @@
   server_attach_data
 
-  log "debug" "shared_data(init)=$options(-compile)"
-  set shared_data(init) $options(-compile)  
-  set shared_data(server_init) 1
+  log "debug" "shared_tasks(init)=$options(-compile)"
+  set shared_tasks(init) $options(-compile)  
+  set shared_tasks(server_init) 1
 }
 
 proc ::tolserver::server_attach_data {} {
   package require tequila
-  global shared_data
+  global shared_tasks
+  global shared_state
 
   tequila::open localhost 20458
-  tequila::attach shared_data
+  tequila::attach shared_tasks
+  tequila::attach shared_state
   
   # this trace is just for debbuging, it's not necesary actually
-  trace add var shared_data write tolserver::server_listen
+  trace add var shared_tasks write tolserver::server_listen_tasks
+  
+  # this trace is just for debbuging, it's not necesary actually
+  trace add var shared_state write tolserver::server_listen_state
 }    
 
-proc tolserver::server_listen {name index op} {
-  global shared_data
-
-  log "debug" "server_listen:index=$index"
-  log "debug" "[array get shared_data]"
+proc tolserver::server_listen_tasks {name index op} {
+  global shared_tasks
+
+  log "debug" "server_listen_tasks:index=$index"
+  log "debug" "[array get shared_tasks]"
+}
+
+proc tolserver::server_listen_state {name index op} {
+  global shared_state
+
+  log "debug" "server_listen_state:index=$index"
+  log "debug" "[array get shared_state]"
 }
 
@@ -544,10 +558,10 @@
 
 proc ::tolserver::dispatch_to_slave {} {
-  global shared_data
+  global shared_state
 
   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)
+  if {$shared_state(slave) ne "ready"} {
+    log "debug" "dispatch_to_slave: vwait shared_state(slave)"
+    vwait shared_state(slave)
   }
   send_tasks_to_slave
@@ -556,9 +570,11 @@
 
 proc ::tolserver::send_tasks_to_slave {} {
-  global shared_data
+  #global shared_data
 
   log "debug" "enter send_tasks_to_slave"
   set t_list [get_queue_tasks]
-  set_queue_shared $t_list
+  if {[llength $t_list] != 0} {
+    set_queue_shared $t_list
+  }
   #if {$shared_data(ack) == 0} {
     #log "debug" "send_tasks_to_slave: vwait shared_data(ack)"
@@ -578,7 +594,7 @@
 
 proc ::tolserver::set_queue_shared {t_list} {
-  global shared_data
+  global shared_tasks
   
   log "debug" "set_queue_shared:t_list=$t_list"
-  set shared_data(request) $t_list
-}
+  set shared_tasks(request) $t_list
+}
Index: tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl
===================================================================
--- tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl	(revision 13bedb153b3a7468a2455d6eeafb346c87bc86ac)
+++ tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl	(revision 1f82c0121087f58778f0ee9e8531beddcd5a9499)
@@ -25,7 +25,9 @@
 }
 
-global shared_data
+global shared_state
 #set shared_data(ack) 0
-set shared_data(slave_status) "busy"
+set shared_state(slave) "busy"
+
+global shared_tasks
 
 ###############################################################################
@@ -52,5 +54,6 @@
 ###############################################################################
 proc ::tolslave::start {args} {
-  global shared_data
+  global shared_state
+  global shared_tasks
 
   array set options {
@@ -76,8 +79,8 @@
   # Compile expression and tol file provided in the command line
   #
-  if {$shared_data(server_init) == 0} {
-    vwait shared_data(server_init)
+  if {$shared_tasks(server_init) == 0} {
+    vwait shared_tasks(server_init)
   }
-  foreach item $shared_data(init) {
+  foreach item $shared_tasks(init) {
     if {[lindex $item 0] eq "expr"} {
       log "debug" "tol::console eval,item=$item"
@@ -90,32 +93,45 @@
 
   #set shared_data(ack) 0
-  set shared_data(slave_status) "ready"
+  set shared_state(slave) "ready"
   log "debug" "leave start"
 }
 
 proc ::tolslave::slave_attach_data {} {
-  global shared_data
   package require tequila
+  global shared_state
+  global shared_tasks
 
   tequila::open localhost 20458
-  tequila::attach shared_data
-  #trace add var shared_data(request) write tolslave::slave_listen
-  trace add var shared_data write tolslave::slave_listen
+  tequila::attach shared_state
+  tequila::attach shared_tasks
+  
+  #trace add var shared_tasks(request) write tolslave::slave_listen_tasks
+  trace add var shared_tasks write tolslave::slave_listen_tasks
+  
+  # this trace is just for debbuging, it's not necesary actually
+  trace add var shared_state write tolslave::slave_listen_state
 }    
 
-proc tolslave::slave_listen {name index op} {
-  global shared_data
+proc tolslave::slave_listen_tasks {name index op} {
+  global shared_tasks
 
-  log "debug" "enter slave_listen:index=$index"
-  log "debug" "[array get ::shared_data]"
+  log "debug" "enter slave_listen_tasks:index=$index"
+  log "debug" "[array get ::shared_tasks]"
   #set shared_data(ack) 0
   if {$index eq "request"} {
     schedule_queue
   }
-  log "debug" "leave slave_listen"
+  log "debug" "leave slave_listen_tasks"
+}
+
+proc tolslave::slave_listen_state {name index op} {
+  global shared_state
+
+  log "debug" "slave_listen_state:index=$index"
+  log "debug" "[array get shared_state]"
 }
 
 proc ::tolslave::schedule_queue { } {
-  global shared_data
+  #global shared_data
 
   log "debug" "enter, schedule_queue"
@@ -128,7 +144,7 @@
 
 proc ::tolslave::get_queue_shared {} {
-  global shared_data
+  global shared_tasks
 
-  set t_list $shared_data(request)
+  set t_list $shared_tasks(request)
   log "debug" "get_queue_shared:t_list=$t_list"
   return $t_list
@@ -145,9 +161,9 @@
 proc ::tolslave::process_queue { } {
   variable data
-  global shared_data
+  global shared_state
 
   log "debug" "enter, process_queue"
 
-  set shared_data(slave_status) "busy"
+  set shared_state(slave) "busy"
   
   foreach item $data(queue,tasks) {
@@ -167,5 +183,5 @@
     }
   }
-  set shared_data(slave_status) "ready"
+  set shared_state(slave) "ready"
   #tequila::do GetAll shared_data
   log "debug" "leave, process_queue"
