Тут как раз и время запустить новый тред и передать ему $newc а уже в треде читать из этого сокета. Тогда сокет будет блокировать только свой тред. как запустить новый поток в php - не знаю.
Вы немного напутали. Если необходимые драйверы вкомпилены в ядро, то как правило initrd не нужен. С другой стороны, практически все дистрибутивы работают через initrd по умолчанию. Да и ядро с диска и сам initrd считывает в память загрузчик, он же и передает на ядро управление.
Александр Аксентьев: Про оптимистические блокировки не читали? Я подскажу. Update произведется только в том случае, если поле version после select никто не увеличил. Это также очень хорошо рабоает, например в "распределенных" или "длинных" транзакциях. Жду комментариев, с нетерпением.
syxoi: во первых, если есть ошибки в файловой системе, то в основном они из-за качества или изношенности носителя. Swap здесь совсем нипричем. Если не хватает свопа, то происходит ошибка копирования, а не порча файла. Память скорее всего у вас не сбоит, иначе бы ядро вылетало в core. А точно ли оригинальный видеофайл не имел такого дефекта? Я очень часто с таким сталкиваюсь, просто работаю в данной области с видео. Собственно, выводов у меня два: либо носитель фиговый и упоротый, но это быстро бы сказалось на ошибках копирования, либо файл сам по себе такой. Так что можно не насиловать себя и убрать sync, все равно он вами не по назначению используется.
syxoi: Собственно, а зачем вам вообще тогда опция sync? можно же, после каждого копирования вызвать утилиту sync! и да, в cp буфер не устанавливается. отдельные файлы можно переписать и через dd.
Я, если честно, не особенно понимаю ваш паттерн использования, может чего и получше предложил бы.