@ru_devops

Страница 248 из 999
Dmitrii
21.02.2017
17:07:38
Паша, астанавись

ptchol
21.02.2017
19:03:14
Что бы ни делать, лишь бы через название процесса не общаться ;)
сделай мастера которы плодит детей и называет их по своему каждого

можешь ещё в сomm сходить и руками ёбнуть туда что нибудь

но это для слвсем повернутых и я хз будет ли это всегда работать и вобще будет ли работать

Google
Pavel
21.02.2017
19:08:18
Вот и мне интересно

ptchol
21.02.2017
19:31:21
но если серьёзно, я вобще редко плохо отзываюсь о идеях людей, но вот твоя идея ужасно дерьмовая.

почему нельзя ipc сделать на тех же сигналах

или через шаредмем

Pavel
21.02.2017
20:00:18
Сигналы потому что не могут посылать доп. метадату, а с шаред мем будут вопросы с конкурентностью

В общем остается только именованые пайпы. Или неименованые.

ptchol
21.02.2017
20:01:48
вопрос с конкуретностью решается семафорами

ебать, а ты в имени процесса джейсон держать будешь ? )

это достойно 2017го но боюсь деды встанут из могил когда ты напишешь это

Pavel
21.02.2017
20:03:18
Про json отличная идея, но я хотел только 1 лексему держать

А так можно имя процесса использовать в качестве маленькой БД, вот это поворот

Следующий шаг после nosql

Google
Vladislav
21.02.2017
20:52:59
в n-1 раз меньше получится, чем пайпов

в comm можно напихать все, что угодно, при желании. список процессов будет прекрасен, а кое-что в юзерспецсе будет крэшиться от json-а в имени

Pavel
21.02.2017
20:59:28
изверги вы доводите мои идеи до абсурда

А что если через сигналы передавать сообщения азбукой морзе?

USR1 USR2 как раз

Vladislav
21.02.2017
21:00:09
unreliable

точнуя задержка сильно зависит от hz и highres таймеров

если тебе не медленно, конечно, надо :)

Pavel
21.02.2017
21:01:36
Не, тут задержка ни при чем. USR1 это точка, USR2 это тире. Просто накапливаем их и потом десериализуем

Vladislav
21.02.2017
21:02:02
а, ну да, норм

пока внешний шум не помешал

заблочить сигналы от неинтересных процессов можно, но не сильно весело

статус файл можно сделать, mmapнуть его в каждом процессе и фиксированной структурой заполнять

лочить ренджем апи есть

Марк ☢
23.02.2017
06:04:03
лочить ренджем апи есть
Залочка хуево работает. И требует опции монтирования. Лучше лочить flockом

А что там за задача была ?

Марк ☢
23.02.2017
06:08:13
Например

Vladislav
23.02.2017
06:08:20
задача не моя, не помню

Wom
23.02.2017
06:09:08


Google
Марк ☢
23.02.2017
06:09:17
Vladislav
23.02.2017
06:09:45
Например
например один лок на весь процесс

Марк ☢
23.02.2017
06:09:52
Флок один на файл

Vladislav
23.02.2017
06:10:07
Упоролся ?
почитай

Марк ☢
23.02.2017
06:10:18
Уж я то про флок точно всё знаю :)

Vladislav
23.02.2017
06:10:42
Флок один на файл
я не про это, епт, а про владельца

Уж я то про флок точно всё знаю :)
а ты точно всё знаешь? (с)

Марк ☢
23.02.2017
06:11:08
Всмысле что это не самафор чтоли ?

Что значит один на владельца

Vladislav
23.02.2017
06:11:39
ох. ты меня гуглить заставляешь, дядя

```A process may only hold one type of lock (shared or exclusive) on a file. Subsequent flock() calls on an already locked file will convert an existing lock to the new lock mode.```

Vladislav
23.02.2017
06:14:06
плюс, к исходной задаче flock вообще никаким боком, т.к никаких диапазонов внутри файла не поддерживает

Марк ☢
23.02.2017
06:15:55
Дапахонов нет. Верно. Ну и да. Там мысль была что один процесс не может несколько лочек делать на одном файле. Всё верно.

Но для синхронизации изменений в файле вполне достаточнр

Vladislav
23.02.2017
06:16:10
не было такой мысли

при создании этого апи комиссия затупила и подмахнула реализацию, как есть, емнип

и вообще, вложенный лок по бороде

Марк ☢
23.02.2017
06:17:51
Ну да

Google
Марк ☢
23.02.2017
06:17:56
А чо. Как в эскулайте

И ничо. Живут же

Vladislav
23.02.2017
06:18:09
более того. НЕЛЬЗЯ получить состояние лока файла по апи

это ваще пздц

Марк ☢
23.02.2017
06:18:26
Vladislav
23.02.2017
06:18:43
приходится в procfs лазить, иначе дескрипторы течь будут

Марк ☢
23.02.2017
06:18:56
Получение состояния залочки это вобще бесполезная операция ибо оно может поменяться в следующую наносекунду

Admin
ERROR: S client not available

Vladislav
23.02.2017
06:21:51
Можно. Попробовать залочить
lock1 - ok, lock2 - ok, unlock2 - приехали, лок снялся, т.к per inode/process

Марк ☢
23.02.2017
06:22:11
Что это за нах я прочитал ?

Vladislav
23.02.2017
06:22:14
крч гогно этот ваш flock

Марк ☢
23.02.2017
06:22:19
Вложенных локов нет

Ксли ты сам залочил -- блять ну запомни это в переменной

Vladislav
23.02.2017
06:22:44
а погли бы быть, с самым простым рефкаунтингом

Марк ☢
23.02.2017
06:22:58
И они есть в линупсе

Vladislav
23.02.2017
06:23:10
но нет же, как протащили (ibm вроде), без рефкаунтинга, так и стандартизировали

Марк ☢
23.02.2017
06:23:22
Даже три штуки разных

Google
Vladislav
23.02.2017
06:23:53
Это называется семафор
семафоры про совсем другое

Марк ☢
23.02.2017
06:24:08
семафоры про совсем другое
Ровно то же. Кагбы рекурсивная залочка

А. Или тебе надо чтобы одни анлоком все локи очищать ?

Чо надо то

Vladislav
23.02.2017
06:25:45
Ровно то же. Кагбы рекурсивная залочка
ну ладна :) как ты снимешь семафор в том де самом процессе, в котором выставил?

хотя бы в теории

без внешних прерываний

Марк ☢
23.02.2017
06:26:13
Блять. Ну апи там такое

Vladislav
23.02.2017
06:26:21
вот ☝️

Марк ☢
23.02.2017
06:26:26
Не понял кейс

Vladislav
23.02.2017
06:27:13
и все это гавнище решается одним полем в структурке лока и 2-мя строчками рефкаунтинга

Марк ☢
23.02.2017
06:27:40
Блять а чо надо то. Напиши более подробный кейс применения

Я всеравно не понял

Vladislav
23.02.2017
06:27:51
* I wish world was prefect, but it's not (c) kernel code *

Марк ☢
23.02.2017
06:29:06
http://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_mutex_lock.html

If the mutex type is PTHREAD_MUTEX_RECURSIVE, then the mutex maintains the concept of a lock count. When a thread successfully acquires a mutex for the first time, the lock count is set to one. Every time a thread relocks this mutex, the lock count is incremented by one. Each time the thread unlocks the mutex, the lock count is decremented by one. When the lock count reaches zero, the mutex becomes available for other threads to acquire. If a thread attempts to unlock a mutex that it has not locked or a mutex which is unlocked, an error will be returned.

Это штоли ?

Vladislav
23.02.2017
06:29:48
да, но без pthreads

Марк ☢
23.02.2017
06:30:22
А чо. Птхреадс мутекс можно сделать в шаропамяти в замеморимапленром файле

У мну есть пример. Когда экспериментировал

Vladislav
23.02.2017
06:30:38
можно конечно

Страница 248 из 999