Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет yigal_s ([info]yigal_s)
@ 2013-01-10 15:41:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
минус на минус даёт плюс
Функция setpriority() в linux очень смешная.

Про неё четко в документации написано, что она меняет приоритет процесса (при этом функция для смены приоритета треда в linux отсутствует).

А на самом деле она, будучи вызвана для процесса, меняет именно приоритет треда.

PS: ой, и с остальными функциями управления приоритетом процесса, вроде set_setscheduler вроде те же проблемы. Это похоже на бред...


(Добавить комментарий)


[info]kot_begemot@lj
2013-01-10 18:20 (ссылка)
Это потому что в Линухе настоящих тредов, вообще говоря, очень долго не было. Были "родственные" процессы, создаваемые clone(), который отличался от fork() только тем, что не создавал новый процесс, а подвешивал новосозданный к "группе". До сих пор tgid == pid of the process.

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2013-01-10 19:04 (ссылка)
что смешнее ещё, pid of the process=tid(first thread)

(Ответить) (Уровень выше)


[info]disbalanced@lj
2013-01-10 20:05 (ссылка)
Гавно короче. Ну или говно, это уж на Ваше усмотрение

(Ответить) (Уровень выше)


[info]yigal_s@lj
2013-01-10 20:27 (ссылка)
э, собственно, я не знаю что ты понимаешь под "настоящими тредами", но в твоих терминах настоящих тредов и сейчас нет, ибо каждый тред в линуксе - это тот самый процесс и есть.

Если же я не прав, и есть нечто принципиально отличное в NPTL по сравнению с тем, что ты написал, будет интересно, если ты меня поправишь.

(Ответить) (Уровень выше)