В модуле ядра Linux Я пытаюсь изменить код, который говорит:down_interruptible Не Рабочая
down(&semaphore1);
down(&semaphore2);
critical code here!
up(&semaphore2);
up(&semaphore1);
Чтобы использовать down_interruptible();
if(down_interruptible(&semaphore1))
return -ERESTARTSYS;
if(down_interruptible(&semaphore2))
return -ERESTARTSYS;
critical code here!
up(&semaphore2);
up(&semaphore1);
Является ли это правильный путь, чтобы перейти от " лишен "down
до down_interruptible
?
Я не понимаю, что делает return -ERESTARTSYS;
, но для меня кажется, что он выводит мой модуль ядра и позволяет ядру делать некоторые другие вещи, пока мой модуль ядра не проснется снова, не так ли?