почему семафорное ядро ​​linux down () устарело? - PullRequest
0 голосов
/ 11 мая 2018

Ядро Linux Комментарий функции семафоров down () скажем

  /**
    Use of this function is deprecated, please use down_interruptible() 
    or down_killable() instead. 
  **/ 

Кто-то, пожалуйста, объясните это, наилучшие пожелания вам.

1 Ответ

0 голосов
/ 11 мая 2018

Это объясняется в комментариях для down_interruptible и down_killable

TLDR;вниз не позволяет вам прерывать, когда он спит, то есть не получил семафор.где, как эти два выхода с -EINR, так отзывчивый код.

понимает использование этой функции down () Получает семафор.Если больше нет задач для получения семафора, вызов этой функции переводит задачу в спящий режим до освобождения семафора.это означает, что он не будет прерван, если вызывающий процесс был прерван.или убит.Базовая логика отличается от второго аргумента до _down_common ()

Поэтому предлагается использовать любое из двух предложений, чтобы оно могло быть обработано в случае прерывания.Также нет смысла хранить его после того, как вызов был убит.

Основные функции, которые устарели, скорее всего, будут прекращены в будущем.в этом случае это не так, как доступно до сих пор в 4.16, который является последним ядром при написании этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...