Lines Matching defs:sibling

1827 	struct tsync_sibling sibling[TSYNC_SIBLINGS];
1849 memset(&self->sibling, 0, sizeof(self->sibling));
1864 self->sibling[0].tid = 0;
1865 self->sibling[0].cond = &self->cond;
1866 self->sibling[0].started = &self->started;
1867 self->sibling[0].mutex = &self->mutex;
1868 self->sibling[0].diverge = 0;
1869 self->sibling[0].num_waits = 1;
1870 self->sibling[0].prog = &self->root_prog;
1871 self->sibling[0].metadata = _metadata;
1872 self->sibling[1].tid = 0;
1873 self->sibling[1].cond = &self->cond;
1874 self->sibling[1].started = &self->started;
1875 self->sibling[1].mutex = &self->mutex;
1876 self->sibling[1].diverge = 0;
1877 self->sibling[1].prog = &self->root_prog;
1878 self->sibling[1].num_waits = 1;
1879 self->sibling[1].metadata = _metadata;
1892 struct tsync_sibling *s = &self->sibling[sib];
1939 void tsync_start_sibling(struct tsync_sibling *sibling)
1941 pthread_create(&sibling->tid, NULL, tsync_sibling, (void *)sibling);
1973 self->sibling[0].diverge = 1;
1974 tsync_start_sibling(&self->sibling[0]);
1975 tsync_start_sibling(&self->sibling[1]);
1989 /* Ensure diverging sibling failed to call prctl. */
1990 pthread_join(self->sibling[0].tid, &status);
1992 pthread_join(self->sibling[1].tid, &status);
2012 tsync_start_sibling(&self->sibling[0]);
2013 tsync_start_sibling(&self->sibling[1]);
2032 pthread_join(self->sibling[0].tid, &status);
2034 pthread_join(self->sibling[1].tid, &status);
2043 tsync_start_sibling(&self->sibling[0]);
2044 tsync_start_sibling(&self->sibling[1]);
2058 pthread_join(self->sibling[0].tid, &status);
2060 pthread_join(self->sibling[1].tid, &status);
2070 tsync_start_sibling(&self->sibling[0]);
2071 tsync_start_sibling(&self->sibling[1]);
2098 pthread_join(self->sibling[0].tid, &status);
2100 pthread_join(self->sibling[1].tid, &status);
2120 self->sibling[0].diverge = 1;
2121 tsync_start_sibling(&self->sibling[0]);
2122 tsync_start_sibling(&self->sibling[1]);
2131 ASSERT_EQ(self->sibling[0].system_tid, ret) {
2132 TH_LOG("Did not fail on diverged sibling.");
2143 pthread_join(self->sibling[0].tid, &status);
2145 pthread_join(self->sibling[1].tid, &status);
2164 self->sibling[0].diverge = 1;
2165 tsync_start_sibling(&self->sibling[0]);
2166 tsync_start_sibling(&self->sibling[1]);
2183 ASSERT_EQ(ret, self->sibling[0].system_tid) {
2184 TH_LOG("Did not fail on diverged sibling.");
2187 if (ret == self->sibling[0].system_tid)
2195 self->sibling[!sib].num_waits += 1;
2202 pthread_join(self->sibling[sib].tid, &status);
2205 while (!kill(self->sibling[sib].system_tid, 0))
2207 /* Switch to the remaining sibling */
2213 TH_LOG("Expected the remaining sibling to sync");
2218 /* If remaining sibling didn't have a chance to wake up during
2221 if (self->sibling[sib].num_waits > 1)
2222 self->sibling[sib].num_waits = 1;
2227 pthread_join(self->sibling[sib].tid, &status);
2230 while (!kill(self->sibling[sib].system_tid, 0))