On 03/22/2016, 03:00 PM, Takashi Iwai wrote: > int main() > { > int i; > long fd; > pthread_t th[32]; > > fd = open("/dev/vhci", O_RDWR); > if (fd < 0) > err(1, "open"); > for (i = 0; i < 32; i++) > pthread_create(&th[i], 0, test, (void*)fd); > for (i = 0; i < 32; i++) > pthread_join(th[i], NULL); > return 0; > } > ================================================================ > > For fixing these, we need a proper mutex protection. A patch like > below seems helping, at least for the test case above. I didn't fix this and kept it simple as I believe concurrent accesses from a single opener are not allowed by design. But if we want to support this, we of course need locking like this. Anyway, I would appreciate any input from the BT fellows. There are more races like this, apparently. thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html