LINUX.ORG.RU

Сообщения Dead

 

Нужен совет

Форум — Development

В общем ситуация такая,

есть сервер (это отдельный процесс).

Он постоянно заблокирован на accept().

Нужно реализовать управление им через именованый pipe.

Вопрос, можно ли как-то разрулить?

Скажем так, если бы это был не accept, а ,к примеру, recv, то я б применил select на поступление данных в сокет и в пайп.

А как можно применить select к accept?

В общем суть в том, что нужно слушать одновременно и сокет и пайп.

Хочется надеяться, что вы разберетесь в моей писанине :)

Буду рад любым советам по теме, поделитесь опытом как еще можно реализовать управляемый через именованный пайп сервер.

Dead
()

Еще раз о SOCKS...

Форум — Development

Нашел описание SOCKS 5 в rfc. Вроде неплохо разобрался.

А вот SOCKS 4 в rfc не увидел :-(

Может быть я плохо искал?

Если кто-нить видел или имеет описание формата SOCKS 4 поделитесь плиз.

И еще вопрос....

Как клиенту определить с какая версия SOCKS установлена на сервере?

Буду благодарен за любую помощь по этому вопросу.

Dead
()

Работа с SOCKS

Форум — Development

Приветствую всех!

Подскажите пожалуйста, есть ли готовые библиотеки по работе с сокс проксями?

Появилась необходимость добавить в проект работу через SOCKS прокси...

Работал ли кто-нибудь из вас с ними, насколько сложнее по сравнению с простыми HTTP проксями?

Буду рад увидеть хоть какие-то коментарии по этому поводу.

Dead
()

Heroes 3 + wine/winex

Форум — Games

Господа!

Кому нибудь удалось запустить Heroes 3 из под wine/winex?

Версию от Loki не предлогать, так как она самая первая и не позволяет генерить рандомные мапы :(

Хотелось бы стартануть Shadow of Death .

Поделитесь плиз конфигами и опытом, заранее благодарен...

v_dav@inbox.ru

Dead
()

С какими параметрами нужно пускать gcc?

Форум — Development

Как заставить gcc при линковке не включать функции, у которых нет вызова?

То есть допустим я в проекте пишу функцию, которая пока еще нигде не вызывается (допустим не готова еще).

Потом после линковки проекта смотрю через nm

nm ./program

и вижу что недописанная функция все равно включена в код :-(

Как-то не хорошо получается.

Может возможно как-то через параметры gcc заставить не включать в код неиспользуемые функции.

Dead
()

Anjuta-1.0.0

Галерея — Скриншоты

Приветствую всех!

Вот решил запостить свой скрин, с anjuta. Которую активно использую как основную среду разработки.

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

По удобству, также, для меня это лучшая среда.

Особенно радует сворачивание кода, что весьма удобно при разгребании чужих исходников.

На экране сгенерирован проект для qmail. (Свои проекты показывать не хочу, дабы избежать ненужного флейма).

В общем мне нравится, а Вам?

Dead
()

О получении теущей даты...

Форум — Development

Может кто-нить подскажет как получать дату в С в формате RFC-822.

Это то что выводит команда

$date -R

Вывод команды

$date

Получить легко, а вот как быть с $date -R ????

Подскажите плиз. А то как-то не очень хочется самому дату формировать по RFC. Делать exec команды date -R тем более не хочется.

Или придется все-таки дату вручную разгребать?

Dead
()

Re: Простой редирект. iptables ???

Форум — Admin

Подскажите плиз. Надо сделать следующее. При обращении на 53 порт (ДНС) хоста, надо сделать редирект на другой хост и на другой порт.

Можно ли сделать это с помощью iptables? И если нельзя , то с помощью чего можно сделать. А то как-то лень свой редирект писать.

Все это нужно делать только для определенных адресов.

Заранее благодарен за любую информацию.

Dead
()

Простой редирект. iptables ???

Форум — General

Подскажите плиз. Надо сделать следующее. При обращении на 53 порт (ДНС) хоста, надо сделать редирект на другой хост и на другой порт.

Можно ли сделать это с помощью iptables? И если нельзя , то с помощью чего можно сделать. А то как-то лень свой редирект писать.

Заранее благодарен за любую информацию.

Dead
()

Глючит с ключем -О2 .....

Форум — Development

Подскажите плиз. Я попробовал скомпилять проект с ключем -О2, в проекте часто используется форк, обработчики сиигналов и семафоры. Глюки пошли не описуемые. Я часа четыре глюки искал. Не нашел. Убрал этот поганый ключ и все заработало. Хотелось бы выяснить. Это глюки РедХатовского gcc - 2.96(я слышал что вещь крайне неудачная) или нельзя в принципе этот ключ в описанной ситуации применять?

Dead
()

Как получить все адреса?

Форум — Development

Вопрос такой. Есть сервер. Надо получить адреса всех интерфейсов подрубленных к сети. экзэкать ifconfig а потом ловить и разгребать его вывод не подходит, так как пошловато выглядит. Может есть какая-нить функция?

Dead
()

Вопрос по семафорам

Форум — Development


Нужно написать функции для процессов, которые анаогичны функциям pthread_mutex_lock и pthread_mutex_unlock для pthreads, только через семафоры.
Прочитал в ALP про IPC. Возможно не все просек.
Делал так.



/* Obtain a binary semaphore s ID, allocating if necessary. */
int binary_semaphore_allocation (key_t key, int sem_flags) {
return semget (key, 1, sem_flags);
}
/* Deallocate a binary semaphore. All users must have finished their use. Returns -1 on failure. */
int binary_semaphore_deallocate (int semid) {
union semun ignored_argument;
return semctl (semid, 1, IPC_RMID, ignored_argument);
}
int binary_semaphore_initialize (int semid) {
union semun argument;
unsigned short values[1];
values[0] = 1;
argument.array = values;
return semctl (semid, 0, SETALL, argument);
}
/*Это lock*/
int binary_semaphore_wait (int semid) {
struct sembuf operations[1];
/* Use the first (and only) semaphore. */
operations[0].sem_num = 0;
/* Decrement by 1. */
operations[0].sem_op = -1;
/* Permit undo ing. */
operations[0].sem_flg = 0;
return semop(semid, operations, 1);
}

/* Это unlock*/
int binary_semaphore_post (int semid) {
struct sembuf operations[1];
/* Use the first (and only) semaphore. */
operations[0].sem_num = 0;
/* Increment by 1. */
operations[0].sem_op = 1;
/* Permit undo ing. */
operations[0].sem_flg = 0;
return semop (semid, operations, 1);
}

Используется таким макаром.

В предке .
if((mx_hash_semaphore = binary_semaphore_allocation( IPC_PRIVATE, IPC_CREAT | IPC_EXCL | S_IRUSR | S_IWUSR)) < 0 ){
perror("semget");
exit(-1);
}
if(binary_semaphore_initialize(mx_hash_semaphore)<0){
perror("init");
exit(-1);
}

В потомках

binary_semaphore_wait (mx_hash_semaphore);
//Критические действия
binary_semaphore_post (mx_hash_semaphore);


Но при таком раскладе все чилды иногда зависают на wait и не отвисают :((((
Подскажите что-нить полезное....
Задача ведь часто встречающаяся.
Или можете прислать аналогичные функции на v_dav@inbox.ru











Dead
()

Проблема с таймаутом :(((

Форум — Development

Нужно сделать таймаут на функцию коннект. Делаю так. struct sigaction act;

bzero(&act, sizeof(act));

act.sa_handler = sig_alarm;

act.sa_flags = SA_ONESHOT;

if(sigaction(SIGALRM, &act, 0) != 0){

perror("Could not set up timeout");

}

else{

alarm(timeout);

}

if (connect (session->socket, (struct sockaddr *) &smtp_sock,sizeof(smtp_sock) ) < 0){ if(errno == EINTR){ printf("Can't connect to host: Timed out!\n"); } else { perror("connect to host "); } return -1; }

На моей машине все работает. Но на сервере программы при окончании таймаута прога сваливается с сообщением Alarm clock

Моя машина SuSE 8.0, gcc 2.95.3, kernel 2.4.18

На сервере РХ 7.1 кернел 2.4.9 gcc 2.96

Прога многопоточная, поэтому если валится один поток то и вся программа тоже.

Подскажите плиз что делать.

Заранее благодарен за любую помощь

Dead
()

MS Word & Quake 3(2) & Wine

Форум — Games

Проблемка такая. Ворд не хотит сохранять файлы. Выдает Ошибку, что либо слишком много открытых файлов, либо нету места на диске. И так на всех дисках. Хотя сам файл создает, но нулевого размера. Думаю это не только в ворде. Рылся в конфиге вина, но что-то не нашел.Юзер, от которого запускаю, имеет доступ на запись. Наверное где-то что-то упустил. Подскажите плиз. Наверно это все очень просто решается. Конфиг генерился сам при установкe ./tools./wineinstall Могу куски показать, там где диски описаны. Quake 2 и 3 вешается при загрузке, видно какой-то темп-файл создать не может. WINE REGISTRY Version 2 ;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config

[Drive C] "Path" = "/mnt/win_c" "Type" = "hd" "Filesystem" = "vfat"

[Drive D] "Path" = "/mnt/win_d" "Type" = "hd" "Filesystem" = "vfat"

[Drive E] "Path" = "/mnt/win_e" "Type" = "hd" "Filesystem" = "vfat"

[Drive F] "Path" = "/mnt/win_f" "Type" = "hd" "Filesystem" = "vfat"

[Drive G] "Path" = "/media/cdrom" "Type" = "cdrom" "Device" = "/dev/cdrom" "Filesystem" = "win95"

[Drive H] "Path" = "/tmp" "Type" = "hd" "Filesystem" = "win95"

[Drive I] "Path" = "${HOME}" "Type" = "network" "Filesystem" = "win95" Писать пробовал на все диски. Эффект один и тот же.

Dead
()

У кого SuSE 8.0 помогите

Форум — General

При монтировании виндовой шары типа mount -t smbfs //172.31.3.91/share /mnt/smb; вроде как все нормально. Но при попытке войти потом в точку монтирования консоль намертво вешается, всяческие браузеры тоже. :( LinNeighborhood тоже вешается. Все это пробовал не только на своей машине , но и на другой машине с другой сеткой. Таже беда если попытаться смонтировать собственную самбовую шару. С другими дистрами все было нормально. Такое ощущение, что проблемы в ядре. Кто - нибудь сталкивался с подобной проблемой? Как решать?

Dead
()

Сетевое программирование

Форум — Development

Может кто-нибудь подскажет, как программно определить список MX'ов конкретного сервера.

Это то - что выдаст команда dig some.server.com MX | grep "IN MX" | awk '{print $6}'

Или может есть уже готовая библиотека для подобной вещи?

А то делать exec данной команды как-то некультурно.

Заранее благодарен за любую помощь.

Dead
()

Разработка приложений с поддержкой локализации...

Форум — Development

Кто-нибудь знает где про это можно почитать. И есть ли стандартное средство по созданию файлов .po Подскажите КАК ЭТО ВСЕ ПРИКРУЧИВАТЬ К ПРОЕКТУ??? В инете ничего не нашел :(

Dead
()

Ищу работу по разработке модулей ядра

Форум — Job

Имею опыт написания драйверов для Linux. Соберу linux-дистрибутив спец назначения (embedded systems). C удовольствем подключусь в какой-нибудь проект, можно и opensorce. Удаленно или в Минске.

v_davydoff@tut.by

Dead
()

Ищу работу по разработке модулей ядра

Форум — Job

Имею опыт написания драйверов для Linux. Соберу linux-дистрибутив спец назначения (embedded systems). C удовольствем подключусь в какой-нибудь проект, можно и opensorce. Удаленно или в Минске.

v_davydoff@tut.by

Dead
()

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