LINUX.ORG.RU

Сообщения Oaks

 

библиотека XML-RPC для С

Начальник сказал разобраться с XML-RPC: какую библиотеку посоветуете, стабилная проверенная , для программирования на языке C. Что почитать,примеры ?

Oaks
()

Доступ vim и emacs к удаленной машине по ssh

Можно ли VIM`ом и EMACS`ом редактировать файлы на удаленной машине к которой я обычно получаю доступ по ssh.А то на удаленной машине стоит другая кодировка русских букв?

Oaks
()

Ocaml язык вчерашнего дня ?

Можно ли изучать язык Ocaml с целью применять в реальной работе ?

Смысл вопроса - не является ли язык,скажем мягче, языком секодняшнего дня,не имеющий будущего.Например, появился F# c хорошей финансовой поддержкой.На каком-то форуме попадалось фраза,если не ошибаюсь, суть которой "... появились новые языки как Nemerle,которые лишены недостатков старых языков ..."

Развивается ли Ocaml? Насколько стабилен его компилятор или постоянно глючит ?

Oaks
()

Книги по лямбда исчислению ?

Что можно почитать по основам функционального программирования - лямбда исчислению ? Какое-нибудь доступное введение.

Oaks
()

Передача пакетов по TCP/IP

Как известно протокол TCP/IP потоко-ориентированный,в отличие от UDP, и чтобы передавать пакеты по нему нужно что-то городить. Например, пакеты можно перевести в символьно-шестнадцатеричные строки, где завершающий ноль будет границей пакета. Какие еще есть способы представления пакетов ? Может уже нашли «лучшее» решение ?

Oaks
()

Как перезапускать программу ?

Каким образом в Linux правильно реализовать перезапуск программы после вылета по ошибке ? В ДОС я бы написал bat: :loop programm goto loop

А как грамотно это сделать в Linux ?

Oaks
()

Как работать с log-файлами ?

Есть ли библиотека для работы с log-файлами на C или какие-нибудь примеры ?

Oaks
()

[C , TCP/IP] Ложное срабатывание тайм-аута функции select()

Для контроля активности TCP/IP сокета установил 30-секундный таймаут через select(n, &readfd, NULL, NULL, &tv ). Данные от сокета идут , но тем не менее тайм-аут срабатывает. Как это можно объяснить ?

Oaks
()

[gcc] Oграничения на процедуру с __attribute__((constructor))

Можно ли в процедуре с аттрибутом __attribute__((constructor)) выполнять функции pthread_mutex_init(),pthread_cond_init() ? И ,вообще, какие есть ограничения ?

 

Oaks
()

Не работает printf+ thread+pipe ?

Написал консольную программу, которая выводит через printf сообщения на экран.Потребовалось экран отфильтровать - prog.exe|grep pattern. Оказалось,что printf ,которые находятся в потоках через конвейер не проходят. Проходят только printf из main(). В какую сторону копать ?

Oaks
()

Передача сообщений между потоками ?

Как в Linux реализовать следующую модель ?

Есть N потоков ,которые выполняют следующую работу: поток ждет сообщения от предыдущего потока , обрабатывает его и передает следующему потоку для обработки. На псевдокоде это можно написать так

TreadN() while() { wait( queueN-1 ) mess=get( queueN-1 ) process(mess) send(mess,queueN+1) post( TreadN+1)

}

Незнаю как это реализовать, все сигналы расписаны, есть только SIGUSR1, SIGUSR2

Oaks
()

Как создать разовый (one-shot) таймер с помощью timer_create() ?

Как я понял timer_create() создает периодический таймер,а можно с его помощью создавать one-shot таймер ?

Oaks
()

Интервальные таймеры для потоков ?

Насколько мне известно, в Linux интервальные таймеры отсчитывают время для процесса - сигнал SIGALRM обрабатывает единственный обработчик процесса. А есть ли методы реализовать интервальные таймеры для потоков. Где об этом можно почитать ?

Oaks
()

[gdb] чтение переменных в потоках ?

Как в gdb читать значение переменной в потоках,если допустим переменная X есть во всех потоках?

 

Oaks
()

прототип getdtablesize() в unistd.h

Написал программу ( Slackware 12.0 ) в которой есть функция getdtablesize(),для которой необходимо включать unistd.h . Скомпилировал с опцией -std=c99. gcc говорит что нет прототипа для getdtablesize(). Действительно прототип в unistd.h закрыт условнойй компиляцией:

#if defined USE_BSD || defined __USE_OPEN_EXTENDED

Как разобраться ,что нужно определять? Вообще-то не хотелось бы привязываться к конкретной версии UNIX в частности BSD. Хотелось бы писать универсальные программы .

Oaks
()

[TCP/IP] Как «увеличить» очередь для входящих соединений ?

Начал разбиратся с сетевым программированием и не все понятно. Возьмем к примеру модель многопоточного сервера:

msock=listen(sock,20) while (1) { ssock=accept( msock,... ) pthread_create(...., ssock) }

Модель когда каждому присоединению выделяется отдельный поток. Поток при обрыве соединения закрывает сокет и сам завершается. При таком поведениии очередь для входящих соединений в конце концов исчерпается. Можно ли как-нибудь "нарастить" очередь для входящих соединений после завершения потока? Как в этом случае поступают "настоящие" серверы ? Что посоветуете почитать на эту тему ?

Oaks
()

RSS подписка на новые темы