36 uint32_t endtime =
time_now() + 2000000;
39 if ((r & 0xffff) == 0x1111)
53 for (
long long int c=0; ;
c++) {
57 if ((r & 0xffff) == 0x2222)
60 uint32_t endtime =
time_now() + 100000;
63 fprintf(stderr,
"Existing after %lld bytes\n",
72 fprintf(stderr,
"MISMATCH after %lld bytes "
73 "(exp %02x got %02x)\n",
c, r, d);
85 verify(0 == memcmp(&smallring, &myring,
sizeof(smallring)));
131 for (
int i=0; i<0x100; i++) {
142 verify(0 == pthread_join(pt, NULL));
143 verify(0 == pthread_join(ct, NULL));
#define RINGBUF_VAR_INIT(bufp, buf_len)
Static initializer for a ring buffer descriptor.
int ringbuf_get(ringbuf_t *rb)
Extract a byte from the ring buffer.
int32_t cyclecmp32(uint32_t a, uint32_t b)
Compares values that may be subject to overflow.
bool ringbuf_empty(ringbuf_t *rb)
Test whether the ring buffer contains any data.
bool ringbuf_put(ringbuf_t *rb, uint8_t d)
Insert a byte into the ring buffer.
void ringbuf_init(ringbuf_t *rb, void *bufp, size_t buf_len)
Runtime initializer for a ring buffer descriptor.
uint32_t rand31_r(uint32_t *seedp)