Changeset 1f82c01 in tol
- Timestamp:
- Mar 15, 2010, 12:06:30 PM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- fc9de2f
- Parents:
- 13bedb1
- Location:
- tolsh/tolsh.vfs/lib/tolcomm
- Files:
-
- 2 edited
-
tolserver.tcl (modified) (6 diffs)
-
tolslave.tcl (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tolsh/tolsh.vfs/lib/tolcomm/tolserver.tcl
r13bedb1 r1f82c01 31 31 } 32 32 33 global shared_data 34 set shared_data(request) "" 35 set shared_data(init) "" 36 set shared_data(server_init) 0 33 global shared_tasks 34 set shared_tasks(request) "" 35 set shared_tasks(init) "" 36 set shared_tasks(server_init) 0 37 38 global shared_state 37 39 38 40 ############################################################################### … … 445 447 ############################################################################### 446 448 proc ::tolserver::start { args } { 447 global shared_ data449 global shared_tasks 448 450 449 451 array set options { … … 466 468 server_attach_data 467 469 468 log "debug" "shared_ data(init)=$options(-compile)"469 set shared_ data(init) $options(-compile)470 set shared_ data(server_init) 1470 log "debug" "shared_tasks(init)=$options(-compile)" 471 set shared_tasks(init) $options(-compile) 472 set shared_tasks(server_init) 1 471 473 } 472 474 473 475 proc ::tolserver::server_attach_data {} { 474 476 package require tequila 475 global shared_data 477 global shared_tasks 478 global shared_state 476 479 477 480 tequila::open localhost 20458 478 tequila::attach shared_data 481 tequila::attach shared_tasks 482 tequila::attach shared_state 479 483 480 484 # this trace is just for debbuging, it's not necesary actually 481 trace add var shared_data write tolserver::server_listen 485 trace add var shared_tasks write tolserver::server_listen_tasks 486 487 # this trace is just for debbuging, it's not necesary actually 488 trace add var shared_state write tolserver::server_listen_state 482 489 } 483 490 484 proc tolserver::server_listen {name index op} { 485 global shared_data 486 487 log "debug" "server_listen:index=$index" 488 log "debug" "[array get shared_data]" 491 proc tolserver::server_listen_tasks {name index op} { 492 global shared_tasks 493 494 log "debug" "server_listen_tasks:index=$index" 495 log "debug" "[array get shared_tasks]" 496 } 497 498 proc tolserver::server_listen_state {name index op} { 499 global shared_state 500 501 log "debug" "server_listen_state:index=$index" 502 log "debug" "[array get shared_state]" 489 503 } 490 504 … … 544 558 545 559 proc ::tolserver::dispatch_to_slave {} { 546 global shared_ data560 global shared_state 547 561 548 562 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)563 if {$shared_state(slave) ne "ready"} { 564 log "debug" "dispatch_to_slave: vwait shared_state(slave)" 565 vwait shared_state(slave) 552 566 } 553 567 send_tasks_to_slave … … 556 570 557 571 proc ::tolserver::send_tasks_to_slave {} { 558 global shared_data572 #global shared_data 559 573 560 574 log "debug" "enter send_tasks_to_slave" 561 575 set t_list [get_queue_tasks] 562 set_queue_shared $t_list 576 if {[llength $t_list] != 0} { 577 set_queue_shared $t_list 578 } 563 579 #if {$shared_data(ack) == 0} { 564 580 #log "debug" "send_tasks_to_slave: vwait shared_data(ack)" … … 578 594 579 595 proc ::tolserver::set_queue_shared {t_list} { 580 global shared_ data596 global shared_tasks 581 597 582 598 log "debug" "set_queue_shared:t_list=$t_list" 583 set shared_ data(request) $t_list584 } 599 set shared_tasks(request) $t_list 600 } -
tolsh/tolsh.vfs/lib/tolcomm/tolslave.tcl
r13bedb1 r1f82c01 25 25 } 26 26 27 global shared_ data27 global shared_state 28 28 #set shared_data(ack) 0 29 set shared_data(slave_status) "busy" 29 set shared_state(slave) "busy" 30 31 global shared_tasks 30 32 31 33 ############################################################################### … … 52 54 ############################################################################### 53 55 proc ::tolslave::start {args} { 54 global shared_data 56 global shared_state 57 global shared_tasks 55 58 56 59 array set options { … … 76 79 # Compile expression and tol file provided in the command line 77 80 # 78 if {$shared_ data(server_init) == 0} {79 vwait shared_ data(server_init)81 if {$shared_tasks(server_init) == 0} { 82 vwait shared_tasks(server_init) 80 83 } 81 foreach item $shared_ data(init) {84 foreach item $shared_tasks(init) { 82 85 if {[lindex $item 0] eq "expr"} { 83 86 log "debug" "tol::console eval,item=$item" … … 90 93 91 94 #set shared_data(ack) 0 92 set shared_ data(slave_status) "ready"95 set shared_state(slave) "ready" 93 96 log "debug" "leave start" 94 97 } 95 98 96 99 proc ::tolslave::slave_attach_data {} { 97 global shared_data98 100 package require tequila 101 global shared_state 102 global shared_tasks 99 103 100 104 tequila::open localhost 20458 101 tequila::attach shared_data 102 #trace add var shared_data(request) write tolslave::slave_listen 103 trace add var shared_data write tolslave::slave_listen 105 tequila::attach shared_state 106 tequila::attach shared_tasks 107 108 #trace add var shared_tasks(request) write tolslave::slave_listen_tasks 109 trace add var shared_tasks write tolslave::slave_listen_tasks 110 111 # this trace is just for debbuging, it's not necesary actually 112 trace add var shared_state write tolslave::slave_listen_state 104 113 } 105 114 106 proc tolslave::slave_listen {name index op} {107 global shared_ data115 proc tolslave::slave_listen_tasks {name index op} { 116 global shared_tasks 108 117 109 log "debug" "enter slave_listen :index=$index"110 log "debug" "[array get ::shared_ data]"118 log "debug" "enter slave_listen_tasks:index=$index" 119 log "debug" "[array get ::shared_tasks]" 111 120 #set shared_data(ack) 0 112 121 if {$index eq "request"} { 113 122 schedule_queue 114 123 } 115 log "debug" "leave slave_listen" 124 log "debug" "leave slave_listen_tasks" 125 } 126 127 proc tolslave::slave_listen_state {name index op} { 128 global shared_state 129 130 log "debug" "slave_listen_state:index=$index" 131 log "debug" "[array get shared_state]" 116 132 } 117 133 118 134 proc ::tolslave::schedule_queue { } { 119 global shared_data135 #global shared_data 120 136 121 137 log "debug" "enter, schedule_queue" … … 128 144 129 145 proc ::tolslave::get_queue_shared {} { 130 global shared_ data146 global shared_tasks 131 147 132 set t_list $shared_ data(request)148 set t_list $shared_tasks(request) 133 149 log "debug" "get_queue_shared:t_list=$t_list" 134 150 return $t_list … … 145 161 proc ::tolslave::process_queue { } { 146 162 variable data 147 global shared_ data163 global shared_state 148 164 149 165 log "debug" "enter, process_queue" 150 166 151 set shared_ data(slave_status) "busy"167 set shared_state(slave) "busy" 152 168 153 169 foreach item $data(queue,tasks) { … … 167 183 } 168 184 } 169 set shared_ data(slave_status) "ready"185 set shared_state(slave) "ready" 170 186 #tequila::do GetAll shared_data 171 187 log "debug" "leave, process_queue"
Note: See TracChangeset
for help on using the changeset viewer.
