MCPcopy Create free account
hub / github.com/apache/brpc / signaller

Function signaller

test/bthread_id_unittest.cpp:42–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40};
41
42void* signaller(void* void_arg) {
43 SignalArg arg = *(SignalArg*)void_arg;
44 bthread_usleep(arg.sleep_us_before_fight);
45 void* data = NULL;
46 int rc = bthread_id_trylock(arg.id, &data);
47 if (rc == 0) {
48 EXPECT_EQ(0xdead, *(int*)data);
49 ++*(int*)data;
50 //EXPECT_EQ(EBUSY, bthread_id_destroy(arg.id, ECANCELED));
51 bthread_usleep(arg.sleep_us_before_signal);
52 EXPECT_EQ(0, bthread_id_unlock_and_destroy(arg.id));
53 return void_arg;
54 } else {
55 EXPECT_TRUE(EBUSY == rc || EINVAL == rc);
56 return NULL;
57 }
58}
59
60TEST(BthreadIdTest, join_after_destroy) {
61 bthread_id_t id1;

Callers

nothing calls this directly

Calls 3

bthread_usleepFunction · 0.85
bthread_id_trylockFunction · 0.85

Tested by

no test coverage detected