@@ -7,8 +7,8 @@ rust_port_selector::rust_port_selector()
7
7
8
8
void
9
9
rust_port_selector::select (rust_task *task, rust_port **dptr,
10
- rust_port **ports,
11
- size_t n_ports, uintptr_t *yield) {
10
+ rust_port **ports,
11
+ size_t n_ports, uintptr_t *yield) {
12
12
13
13
I (task->thread , this ->ports == NULL );
14
14
I (task->thread , this ->n_ports == 0 );
@@ -29,33 +29,33 @@ rust_port_selector::select(rust_task *task, rust_port **dptr,
29
29
// Start looking for ports from a different index each time.
30
30
size_t j = isaac_rand (&task->thread ->rctx );
31
31
for (size_t i = 0 ; i < n_ports; i++) {
32
- size_t k = (i + j) % n_ports;
33
- rust_port *port = ports[k];
34
- I (task->thread , port != NULL );
32
+ size_t k = (i + j) % n_ports;
33
+ rust_port *port = ports[k];
34
+ I (task->thread , port != NULL );
35
35
36
- port->lock .lock ();
37
- locks_taken++;
36
+ port->lock .lock ();
37
+ locks_taken++;
38
38
39
- if (port->buffer .size () > 0 ) {
40
- *dptr = port;
41
- found_msg = true ;
42
- break ;
43
- }
39
+ if (port->buffer .size () > 0 ) {
40
+ *dptr = port;
41
+ found_msg = true ;
42
+ break ;
43
+ }
44
44
}
45
45
46
46
if (!found_msg) {
47
- this ->ports = ports;
48
- this ->n_ports = n_ports;
49
- I (task->thread , task->rendezvous_ptr == NULL );
50
- task->rendezvous_ptr = (uintptr_t *)dptr;
51
- *yield = true ;
52
- task->block (this , " waiting for select rendezvous" );
47
+ this ->ports = ports;
48
+ this ->n_ports = n_ports;
49
+ I (task->thread , task->rendezvous_ptr == NULL );
50
+ task->rendezvous_ptr = (uintptr_t *)dptr;
51
+ *yield = true ;
52
+ task->block (this , " waiting for select rendezvous" );
53
53
}
54
54
55
55
for (size_t i = 0 ; i < locks_taken; i++) {
56
- size_t k = (i + j) % n_ports;
57
- rust_port *port = ports[k];
58
- port->lock .unlock ();
56
+ size_t k = (i + j) % n_ports;
57
+ rust_port *port = ports[k];
58
+ port->lock .unlock ();
59
59
}
60
60
}
61
61
@@ -72,16 +72,16 @@ rust_port_selector::msg_sent_on(rust_port *port) {
72
72
scoped_lock with (rendezvous_lock);
73
73
74
74
if (task->blocked_on (this )) {
75
- for (size_t i = 0 ; i < n_ports; i++) {
76
- if (port == ports[i]) {
77
- // This was one of the ports we were waiting on
78
- ports = NULL ;
79
- n_ports = 0 ;
80
- *task->rendezvous_ptr = (uintptr_t ) port;
81
- task->rendezvous_ptr = NULL ;
82
- task->wakeup (this );
83
- return ;
84
- }
85
- }
75
+ for (size_t i = 0 ; i < n_ports; i++) {
76
+ if (port == ports[i]) {
77
+ // This was one of the ports we were waiting on
78
+ ports = NULL ;
79
+ n_ports = 0 ;
80
+ *task->rendezvous_ptr = (uintptr_t ) port;
81
+ task->rendezvous_ptr = NULL ;
82
+ task->wakeup (this );
83
+ return ;
84
+ }
85
+ }
86
86
}
87
87
}
0 commit comments