OCTAGRAM
iconv posix
If the character encoding of the input is stateful, the iconv() function can also convert a sequence of input bytes to an update to the conversion state without producing any output bytes; such input is called a shift sequence.

Пытался понять, iconv отказывается есть всё только когда наезжает на шляпу или для неполных последовательностей тоже. Насколько я могу понять это “can also”, как хочет, так себя и ведёт.
Strephil
Linux posix Что-то я не пойму, как скопировать содержимое папки. :-(

Например, у меня есть папка /pr0n, и я хочу скопирвать на флешку, но владелец папки pr0n другой, у меня нет доступа к содержимому этой папки.

$ sudo cp -r /home/pr0n/* /mnt/sdh1

это, конечно, не работает, потому что звёздочка раскрывается раньше, чем выполняется sudo.
тут мог бы помочь rsync, там в зависимости от / в конце источника копируется либо сама папка, либо её содержимое. Но я никак не могу запомнить, какой вариант какой.

Залогинился root'ом, копирую.

Ядро 4.10.11. Как же всё тормозит при записи на флешку!
OCTAGRAM
время FILETIME GNAT posix ada Разобрался с конвертацией времени. Как выясняется, в GreyLink DC++ время хранится совсем не в том формате, в котором я подумал, а в FILETIME. Также выяснилось, что и FILETIME в Windows, и time_t в POSIX могут быть как с високосными секундами, так и без. FILETIME, похоже, с високосными секундами не встречается, но тут пишут, что это не исключено. time_t согласно POSIX.1 тоже не должен поддерживать их:
IEEE Std 1003.1-1988 (``POSIX.1'') legislates that a time_t value of 536457599 shall correspond to "Wed Dec 31 23:59:59 GMT 1986." This effectively implies that POSIX time_t's cannot include leap seconds and, therefore, that the system time must be adjusted as each leap occurs.
… но я смотрю на маны posix2time и time2posix и вижу, что совместимость с POSIX где-то может быть сломана в угоду монотонности времени. Всегда надо уточнять, с високосными секундами время или нет, иначе будет разъезжаться на 25 секунд, и с каждым годом всё больше. Вот, допустим, MySQL поддерживает високосные секунды в полях TIMESTAMP, если работать с этими значениями через функцию UNIX_TIMESTAMP. Но как мы уже выяснили, подлинный UNIX time_t не содержит високосных секунд, значит, это может быть только модифицированный. И если вы создаёте значение инструментом, который не вставляет эти секунды, у вас время начнёт разъезжаться. Вот в JavaScript по стандарту временная шкала нелинейная, как и в POSIX.1. Но если POSIX.1 где-то нарушается, то, может быть, и EcmaScript тоже? Давайте проверим:
qnikst
С posix хочется_странного programming Есть программа (RTS), которая может создавать треды в разные странные моменты обычным pthread_create . Есть специальный superduper_thread_create, который создает нужные мне треды, но взять и перевести на него RTS неполучится (лень). Так же есть так же специальный метод, который позволяет конвертировать обычный posix тред в superduper тред.

Вопрос, есть ли какие-либо средства для автоматизации вызова функции конвертации треда в специальный после вызова pthread_create
Equidamoid
Python posix fs У меня есть скрипт, скрипт работает с несколькими разными версиями данных. Данные принудительно качаются в один и тот же каталог и с этим ничего не поделать (привет идиотской системе perforce). Потому хочу сделать блокировку этого каталога. Как это лучше делать? Требуется полностью исключить возможные гонки и корректно обрабатывать падения (чтобы никаких "файл заблокирован, но похоже, что владелец издох, проверь сам и удали воот этот файл").
segfault
C posix ? нихуя не понимаю, чем отличается ppoll от poll ? При получении сигнала первый сразу возвращает, или нет, или оба возвращают управление ?
OCTAGRAM
posix WebRTC Была для TCP/IP такая полезная утилитка netcat. А потом все повадились ходить через SOCKS, и даже были сети с forced proxy socks. Без SOCKS стало никуда, и тогда был сделан socat. А сейчас все за NAT, Teredo не настроен, и стало никуда без WebRTC. Теперь нужен новый *cat.

Меня огорчает, что я так и не нашёл ни одной реализации Interactive Connection Establishment для libuv
Dorif
Dorif анонс posix Unix Привет пользователям UNIX-like систем!

Я пишу небольшой набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС. Проект называется escu(сокращение от Extremelly Small CoreUtils). Писать начал, когда пожелав выучиться системному программированию по исходникам GNU Coreutils, но не смог разобраться в spaghetti code и решил их переписать согласно спецификациям The OpenGroup.

Уже есть утилиты: basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes. Многие из них уже полностью POSIX-совместимы. Я использую системные вызовы для снижения накладных расходов, а также стараюсь писать максимально простой код для облегчения понимания новичками.

Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.

Релизы будут выпускаться тогда, когда они будут готовы, за исключением багфиксов.

Комментарии, предложения и патчи приветствуются!

Исходный код: github.com
Strephil
RegEx OpenBSD expr GNU posix Что касается
$ expr a : 'a\( b\)*'
man 1p expr:
Alternatively, if the pattern contains at least one regular expression subexpression "[\(...\)]", the string corresponding to "\1" shall be returned.
По кодам возврата:
0 The expression evaluates to neither null nor zero.
1 The expression evaluates to null or zero.

Так что в GNU всё по POSIX, а OpenBSD — увы.
Arepo
Linux posix знатоки, подскажите, позволяет ли посикс или, накрайняк, линух, указать драйверу ФС, что на месте указанной области файла неплохо бы было сделать дырку? Есть большой очень разреженный файл, в который пишутся данные и затираются нулями старые, так вот на месте старых данных и надо делать дырки. Очень не хочется периодически пересоздавать этот файл только для того, чтобы дырки расставить
dr-Chaos
code posix make
Господа, а можно как-то на POSIX make изобразить такую конструкцию:

dir/%.o:
   cd dir && make %*.o

Т.е. часть *.c файлов для собрки лежит в поддиректории и для того чтоб их сбилдить надо вызвать make foo.o в этой поддиректории. На GNU make я это изобразил, а вот на POSIX как-то херово :(
sany
boost posix Unix flock, fcntl, boost::interprocess::file_lock...
одно работает только под windows, другое только под unix, есть ешё hp-ux, под ним вообще ничего не работает.
borman
Windows posix ? Жуйк, а посоветуй годный сетап нормальной позиксовой консоли на винду? Какой терминал, какой юзерленд брать? Вянда 7 x64, если что.
Strephil
GNU posix Unix Вот, например, есть моя директория, в ней лежат не мои файлы, но я их могу читать.
Почему я не могу использовать chown, чтобы они стали моими?
Почему я должен использовать какой-то велосипед, сначала копируя эти файлы, потом удаляя исходные, потом перемещая скопированные на место исходных? Это обязательно должно быть так, да?
Strephil
awk GNU posix gawk В четвертой версии GNU AWK функции sub были приведены в соответствие со стандартом POSIX 2008.
Неделю назад пришел баг-репорт, что gawk работает согласно POSIX! Ужас!
…я оказался прав: главный разработчик gawk Аарон Роббинс подготовил патч, возвращающий старое поведение. В ближайшее время он будет добавлен в ветку git gawk-4.0-stable.
GNUgNUGNugnu!!!!!1111
nil
software posix Интересно, почему в GNU/Linux каждый процесс сам отвечает за создание PID-файла? Почему это не задача ОС?
Elemir
Linux GNU posix О совместимости. Многие линакс-фаги называют гну/линакс UNIX-like и обосновывают это тем, что оная является POSIX-совместимой, хоть и не сертифицирована. Благодаря вчерашнему нытью @lexszero обнаружил интересную вещь:
elemir@netbook ~ $ (cat test.c && gcc -std=c99 -D_POSIX_C_SOURCE=200809L -lm test.c -o test 2>&1) | wgetpaste
Your paste can be seen here: paste.pocoo.org
elemir@netbook ~ $ man 0p math.h | wgetpaste
Your paste can be seen here: paste.pocoo.org

И сколько же таких ошибок и несуразностей?
Strephil
awk Bash GNU posix awk никому не нужен. Для совсем простого слишком сложен, для чуть более сложного слишком ущербен. Вот нафига он стандарт POSIX? Даже не то, что лишние буквы. Сколько поощрение его включения в дистрибутивы, его изучения, использования.
Был бы стандартом, например, bash со всеми его башизмами. Или другие расширения GNU… Было бы куда лучше.
Strephil
capabilities Linux Arch posix libcap Ура! У меня новая libcap (теперь 2.20; тихо и незамѣтно вышла в день Богоявленiя, еще шесть дней назадъ; нашел на kernel.org)
Измѣненiй немного: добавлена поддержка новаго разрѣшенiя CAP_SYSLOG (названiе говоритъ само за себя).
+ setcap теперь по дефолту имѣетъ inherity capability. Интересно, зачѣмъ? Въ Arch это отключено… вотъ тутъ нужно будетъ поразбираться.
sites.google.com
solmir
Linux posix а какие есть средства для отслеживания проблем синхронизации, взаимных исключений, клинчей и всего прочего, помимо mutrace?
smeea
Linux shell Bash posix Объясните почему посикс шелл на этом сосет хуйцы:
~ % cat 1
#!/bin/bash
echo ${@-foo}
for i in "$@"; do
echo "bar"
done
~ % ./1
foo
~ % cat 2
#!/bin/sh
echo ${@-foo}
for i in "$@"; do
echo "bar"
done
~ % ./2

Почему баш корректно считает переменную аргумента неопределенной и не запускает луп, а так же выводит заместо неопределенной переменной заданное 'foo', а каноничный шелл делает непонятное — для первой команды он считает переменную определенной (но пустой) и выводит ее значение, но луп в то же время не запускает, как будто она не определена?