假设我在Linux内核模块中实现dev_write
,如下所示:
static ssize_t dev_write(struct file *filep, const char *buffer, size_t len, loff_t *offset)
{
size_t i;
for (i = 0; i < len; ++i) {
printk(KERN_INFO "buffer[%zu] is '%c'\n", i, buffer[i]);
}
return 0;
}
如果两个不同的进程同时尝试写入我的设备会发生什么?事情会正常执行吗?调用dev_open
时是否需要获取互斥锁?或者在这种情况下是否需要锁定?