Что могло измениться по сравнению с ранее работающим состоянием, так это смена системного пароля пользователя, шары которого использую, обновления Debian Lenny, и собранное с помощью make-kpkg ванильное ядро 2.6.31.5
Под рутом монтирование тоже не работало. После того, как сменил пароль удаленного пользователя через smbpasswd, монтирование под рутом снова функционирует, а вот из-под обычного пользователя по-прежнему нет.
Произошел сбой (винт новый, в норме, а драйвер ядра к недорогому SATA-контроллеру плохой и по сей день, как оказалось). fsck постоянно находит в одном единственном inode неправильные блоки, 11 очищает, а потом заявляет, что вообще-то их слишком много, идет дальше до конца. А потом начинает проверку заново, снова находит и очищает следующие 11 и т. д. Ну, до Нового Года (вот не знаю этого или какого другого) ждать не хочется. Я вооружился debugfs и выяснил, что inode принадлежит удаленному мною файлу. Т.е. этот весь inode можно было бы спокойно очистить. Но вот незадача. После kill_file <19161090> debugfs уходит в segfault, т.к. она не может обработать ошибочный блок (т.е. номер выходит за пределы фс). Странно, на то ж она и debugfs, чтобы справляться именно с дефектами!? Когда делаю clri <19161090> (stat <19161090> показывает теперь, что все чисто) freei <19161090> (inode is not in use) kill_file <19161090> close, то после open снова все на месте (открывал я на запись). Удивительно! Т.е. ext2fs будет бесконечно всего по 11 блоков очищать, а с debugfs я вообще ничего не могу достигнуть. Как дальше более менее оптимально решать эту задачу?
Хотелось бы без лишних зависимостей портабельно использовать pthreads
в С++. К огромному удивлению оказалось, что задача нетривиальна.
Первые трудности уже преодолел:
для вызова pthread_create() не использую ни функцию-член класса, ни
самостоятельную функцию за пределами класса, а только последнюю
(thread_func) с модификатором "extern C", которая вызывает нужную
функцию класса run.
Таким образом декларация класса PThread и thread_func находятся в
одном заголовочном файле.
Но вот из-за этой thread_func и возникла ещё одна проблема. Выходит,
что если более одного класса наследуют PThread, то при линковке
выходит столкновение двух "одинаковых" вариантов thread_func.
И namespace не помогут, ведь thread_func объявлена и определена в
абстрактном классе.
Посоветуете что-нибудь кроме как забыть об абстрактном PThread?
Загрузил образ dsl linux. Запустил из QEMU, и не получается добраться до текстовой консоли dsl. Посмотрел в debian (stable) bug report - есть жалобы на qemu, но такой нет. Может нужно какое-то дополнительное магическое слово?
При загрузке файла его дата/время устанавливаются в текущие (firefox, epiphany). А можно браузер заставить устанавливать их с оригинальных с сервера?
Обычно, когда мне это важно, я пользуюсь wget из шелла. Но бывают сайты с логином - т. е. вне браузера доступа нет. Пробовал flashgot (wget, gnome wget) - пишут "файл не найден". Похоже, флэшгот не передаёт чего-то (cookies?) в загрузчик.