Changeset 2ef94a4 in tol for tolsh/tolsh.vfs/lib/tolcomm


Ignore:
Timestamp:
Mar 12, 2010, 11:50:42 AM (17 years ago)
Author:
Liván Ramírez Dorta <livanr68@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
13bedb1
Parents:
542c12b
Message:

Improve TolServer process structure

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2053 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tolsh/tolsh.vfs/lib/tolcomm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl

    r542c12b r2ef94a4  
    2929    queue,cancel ""
    3030  }
    31  
    32   variable trace_active
    33  
    34   set trace_active 0
    3531}
    3632
    … …  
    481477  tequila::open localhost 20458
    482478  tequila::attach shared_data
     479 
     480  # this trace is just for debbuging, it's not necesary actually
    483481  trace add var shared_data write tolserver::server_listen
    484482}   
    … …  
    533531  set idtask "${client}:$data(queue,id)"
    534532  push_queue_tasks [list $idtask $idrq $chan $tol_expr]
     533
    535534  log "debug" "leave, insert_expr, $idtask"
    536535  set idtask
    … …  
    540539  variable data
    541540
    542   log "debug" "tolserver::push_queue_tasks:item=$item"
     541  log "debug" "push_queue_tasks:item=$item"
    543542  lappend data(queue,tasks) $item
    544543}
    … …  
    546545proc ::tolserver::dispatch_to_slave {} {
    547546  global shared_data
    548   variable trace_active
    549 
    550   log "debug" "tolserver::dispatch_to_slave"
    551   if {$shared_data(slave_status) eq "ready"} {
    552     send_tasks_to_slave
    553   } else {
    554     set trace_active 1
    555     trace add var shared_data(slave_status) write ::tolserver::send_tasks_to_slave
    556   }
     547
     548  log "debug" "enter dispatch_to_slave"
     549  if {$shared_data(slave_status) ne "ready"} {
     550    log "debug" "dispatch_to_slave: vwait shared_data(slave_status)"
     551    vwait shared_data(slave_status)
     552  }
     553  send_tasks_to_slave
     554  log "debug" "leave dispatch_to_slave"
    557555}
    558556
    559557proc ::tolserver::send_tasks_to_slave {} {
    560558  global shared_data
    561   variable trace_active
    562 
    563   if {$trace_active == 1} {
    564     trace remove var shared_data(slave_status) write ::tolserver::send_tasks_to_slave
    565     set trace_active 0
    566   }
    567   log "debug" "tolserver::send_tasks_to_slave"
     559
     560  log "debug" "enter send_tasks_to_slave"
    568561  set t_list [get_queue_tasks]
    569562  set_queue_shared $t_list
    570   if {$shared_data(ack) eq 0} {
    571     vwait shared_data(ack)
    572   }
     563  #if {$shared_data(ack) == 0} {
     564    #log "debug" "send_tasks_to_slave: vwait shared_data(ack)"
     565    #vwait shared_data(ack)
     566  #}
     567  log "debug" "leave send_tasks_to_slave"
    573568}
    574569
    … …  
    578573  set t_list $data(queue,tasks)
    579574  set data(queue,tasks) [list]
    580   log "debug" "tolserver::get_queue_tasks:t_list=$t_list"
     575  log "debug" "get_queue_tasks:t_list=$t_list"
    581576  return $t_list
    582577}
    … …  
    585580  global shared_data
    586581 
    587   log "debug" "tolserver::set_queue_shared:t_list=$t_list"
     582  log "debug" "set_queue_shared:t_list=$t_list"
    588583  set shared_data(request) $t_list
    589584}
  • tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl

    r542c12b r2ef94a4  
    2626
    2727global shared_data
    28 set shared_data(ack) 0
     28#set shared_data(ack) 0
    2929set shared_data(slave_status) "busy"
    3030
    … …  
    7676  # Compile expression and tol file provided in the command line
    7777  #
    78   if {$shared_data(server_init) eq 0} {
     78  if {$shared_data(server_init) == 0} {
    7979    vwait shared_data(server_init)
    8080  }
    … …  
    8989  }
    9090
    91   set shared_data(ack) 0
     91  #set shared_data(ack) 0
    9292  set shared_data(slave_status) "ready"
     93  log "debug" "leave start"
    9394}
    9495
    … …  
    99100  tequila::open localhost 20458
    100101  tequila::attach shared_data
    101   trace add var shared_data(request) write tolslave::slave_listen
     102  #trace add var shared_data(request) write tolslave::slave_listen
     103  trace add var shared_data write tolslave::slave_listen
    102104}   
    103105
    … …  
    105107  global shared_data
    106108
    107   log "debug" "slave_listen:index=$index"
     109  log "debug" "enter slave_listen:index=$index"
    108110  log "debug" "[array get ::shared_data]"
    109   set shared_data(ack) 0
    110   schedule_queue
     111  #set shared_data(ack) 0
     112  if {$index eq "request"} {
     113    schedule_queue
     114  }
     115  log "debug" "leave slave_listen"
    111116}
    112117
    … …  
    118123  set_queue_tasks $t_list
    119124  after idle [process_queue]
    120   set shared_data(ack) 1
     125  #set shared_data(ack) 1
    121126  log "debug" "leave, schedule_queue"
    122127}
    … …  
    126131
    127132  set t_list $shared_data(request)
    128   #tequila::privTracer "shared_data" "request" "w"
    129   log "debug" "tolslave::get_queue_shared:t_list=$t_list"
     133  log "debug" "get_queue_shared:t_list=$t_list"
    130134  return $t_list
    131135}
    … …  
    134138  variable data
    135139
    136   log "debug" "tolslave::set_queue_tasks:t_list=$t_list"
     140  log "debug" "set_queue_tasks:t_list=$t_list"
    137141  #lappend data(queue,tasks) {*}$t_list
    138142  set data(queue,tasks) $t_list
    … …  
    141145proc ::tolslave::process_queue { } {
    142146  variable data
     147  global shared_data
    143148
    144149  log "debug" "enter, process_queue"
    … …  
    149154    foreach {idtask idrq chan tol_expr} $item break
    150155    set idx [lsearch $data(queue,cancel) $idrq]
    151     log "debug" "::tolslave::process_queue idx=$idx, idtask=$idtask"
     156    log "debug" "process_queue idx=$idx, idtask=$idtask"
    152157    if {$idx != -1} {
    153158      log debug "canceling task $idtask"
    … …  
    163168  }
    164169  set shared_data(slave_status) "ready"
    165   #tequila::GetAll "shared_data"
     170  #tequila::do GetAll shared_data
    166171  log "debug" "leave, process_queue"
    167172}
Note: See TracChangeset for help on using the changeset viewer.