LINUX.ORG.RU

Сообщения LIKAN

 

Простой вопрос по СИ

Форум — Development

Есть заголовочный файл example.h. В нём объявлена переменная.

struct idenf storage[256];
Данный файл подключен в example1.c, example2.c и example3.c. Если в файле example1.c изменить содержимое одного из элементов этого массива, при доступе к storage из файла example2.c будут ли видны эти изменения?

 

LIKAN
()

Тут есть гитаристы || шарящие в гитарной теме?

Форум — Talks

Доброго времени. Хочется освоить такой муз инструмент, как гитара. За плечами есть флейта и в ранней молодости пианино. С чего начать? Какую выбрать?
Есть ли смысл смотреть в сторону электрогитары, можно ли на такой играть, как на обычной с тем же звуком и теми же нотами? Можно ли её использовать для «бесшумной» игры, когда сам в наушниках? Или по началу проще обойтись акустической?
Стоить ли брать новую, или можно обойтись бушной? Какие критерии выбора сэконд-хэнд инструмента?
Какие тематические порталы можете посоветовать?

 ,

LIKAN
()

Помогите разобраться с zeromq сокетами

Форум — Development

На сервере работает ROUTER, на клиенте DEALER. Сервер:

void *context = zmq_ctx_new ();
    mitm_socket = zmq_socket (context, ZMQ_ROUTER);
    int rc = zmq_bind (mitm_socket, "tcp://*:5556");
....
int result = zmq_msg_recv (&client,mitm_socket,0);
perror("Client: ");
printf("Errno CLI = %d\n", errno);
if(errno == EAGAIN)
    printf("CLI EAGAIN\n");
result = zmq_msg_recv (&garbage,mitm_socket,0);
perror("Garbage: \n");
printf("Errno GARB = %d\n", errno);
if(errno == EAGAIN)
    printf("GARB EAGAIN\n");  
result = zmq_msg_recv (&msg,mitm_socket ,0);
		perror("Data\n");
На клиенте
 int ling_period_osmo=1000;
    int recv_timeout_osmo=-1;
    void *osmo_context = zmq_ctx_new ();
    void *osmo_socket = zmq_socket (osmo_context, ZMQ_DEALER);
    zmq_setsockopt (osmo_socket, ZMQ_IDENTITY,identity, strlen(identity));
    zmq_setsockopt (osmo_socket, ZMQ_LINGER, &ling_period_osmo, sizeof(int));
    zmq_setsockopt (osmo_socket, ZMQ_RCVTIMEO, &recv_timeout_osmo, sizeof(int));
    if(zmq_connect (osmo_socket, "tcp://localhost:5556") == -1){
        printf("Couldn't connect to osmocom\n");
        return NULL;
    }
....
int osmo_send_result =  zmq_send (osmo_socket,ack_object("SMS_RECV_ACK","1"),strlen(ack_object("SMS_RECV_ACK","1")), 0);
       printf("We send sms_recv_ack with code 1, res = %d\n",osmo_send_result);
На сервере вижу
Client: : Resource temporarily unavailable
Errno CLI = 11
CLI EAGAIN
Garbage: 
: Resource temporarily unavailable
Errno GARB = 11
GARB EAGAIN
И только на третьем recv происходит блокировка? Откуда взялся EAGAIN? Сокет то блокирующий.

 

LIKAN
()

Помогите разобраться с многопоточностью

Форум — Development

Никогда не связывался с многопоточностью на чистом Си, но тут заставили. Функция, которая создает нити

int create_threads(){
    pthread_t thread1, thread2;
    int id1=1;

    int result;
    result = pthread_create(&thread1, NULL, ms_thread, &id1);
    if(result){
        printf("Couldn't create first thread\n");
        return -1;
    }
    int id2=2;
    result = pthread_create(&thread2, NULL, ms_thread, &id2);
    if(result){
        printf("Couldn't create second thread\n");
        return -1;
    }
    return 0;
}
Так выглядит начало ms_thread
void* ms_thread(void *arg){
    int thread_id=*(int *)arg;
    printf("Thread %d ready to serve!\n",thread_id);
Так вот, в одном из созданных потоков thread_id равно 1. А вот в другом потоке thread_id равно 0. Откуда взялся 0, когда должна быть 2?

 ,

LIKAN
()

Как перезапустить pulseaudio

Форум — Desktop

Время от времени ни с того ни с сего отваливается (или точней теряет часть функционала pulseaudio). Приложения, завязанные на него теряют способность воспроизводить звук (skype), в alsamixer перестает отображаться pulseaudio. Хотя процесс висит. Так вот попытка выполнить

$ pulseaudio --kill
E: [pulseaudio] core-util.c: Failed to create secure directory (/run/user/1000/pulse): Отказано в доступе
E: [pulseaudio] main.c: Не удалось завершить работу демона: Отказано в доступе
Или от рута (хотя НАДО вроде как от юзера)
# pulseaudio --kill
E: [pulseaudio] main.c: Не удалось завершить работу демона: Нет такого файла или каталога
Попытка запустить оканчивается вот этим
$ pulseaudio --start
E: [autospawn] core-util.c: Failed to create secure directory (/run/user/1000/pulse): Отказано в доступе
W: [autospawn] lock-autospawn.c: Не удалось получить доступ к блокировке, используемой для запуска сервера по требованию.
E: [pulseaudio] main.c: Failed to acquire autospawn lock
Как перезапустить это поделие?

 

LIKAN
()

Arch linux стал пищать

Форум — Desktop

Знакомы с очаровательным звуком пищалки, который раздается при любом некорректном действии при работе в текстовой консоли в дефолтном дебиане? Так вот моя родная операционка после какого-то там события начала издавать такой звук, только не в текстовой консоли? а при некоторых некорректных действиях в браузере и в файловом менеджере (firefox, thunar). И звук издает не пищалка, а колонки или наушники. Как это дело прекратить?

 , ,

LIKAN
()

Определить, есть ли элемент, общий для двух списков

Форум — Development

Есть два списка, А и B. Для каждого списка определен метод exists, который выдает true, если переданный ему аргумент присутствует в списке. Как пользуясь этим методом, определить наличие общих элементов в списках A и Б? Описать в функц стиле.

 ,

LIKAN
()

Посоветуйте долгоживущий смартфон

Форум — Talks

Посоветуйте долгоиграющий смартфон на андроиде. Желательно, с диагональю менее 4.5 и камерой более 5 мп.

 

LIKAN
()

Шум в наушниках

Форум — General

Внезапно, без всяких видимых причин, начали шипеть наушники. Пулься была казнена в первую очередь. Звук в системе пропал, шипение - нет. Куда копать? В чем может быть причина. В винде все ок.

 , ,

LIKAN
()

Сравнить String и X(Maybe String)

Форум — Development

Есть ф-ция следующего вида

logLayout :: Logger
Logger :
type Logger = X (Maybe String)
Я хочу сравнить то, что возвращает ф-ция Logger, с константной строкой («Full» например). Как мне это сделать? Я пытался что-то вроде вот такого
if(logLayout == return (Just "Full"))
.....
Получил вот такое
No instance for (Eq Logger) arising from a use of ‘==’
    In the first argument of ‘(||)’, namely
      ‘(logLayout == return (Just "Full"))’

 ,

LIKAN
()

Знания каких функциональных языков проще всего коммерциализировать?

Форум — Talks

Или проще говоря, за изучение какого функционального языка взяться, чтоб потом применить знания на практике (не бесплатно разумеется)? В рейтинге популярности функц языков вроде как уверенно лидирует scala (http://dev.by/ckeditor_assets/pictures/2185/content_programming_languages_22.png), но я не знаком с Java, есть ли смысл его учить или предпочесть erlang (вроде как нишевый язык) или haskell (очень академический язык, можно ли будет по нему найти работу)?

 

LIKAN
()

Отладка в haskell

Форум — Development

Настраиваю xmonad. В данном вм тайловые окна упакованы в стек. Цель: очень хочется (если интересно почему - то Управление фокусом окна в режиме тайлинга) чтобы окно, на которое переходит фокус, автоматически отправлялось на вершину стека, т е становилось master окном. Для этого есть вот такая ф-ция

shiftMaster :: StackSet i l a s sd -> StackSet i l a s sd
И ф-ция
windows :: (WindowSet -> WindowSet) -> X ()
Вместе они выполнят ровно то, что нужно. Так же хочется не совершать никаких телодвижений, если стек пуст. Для всех этих целей была написана вот такая ф-ция
focusWindowHook::X()
focusWindowHook = do
                    myset <- gets windowset
                    let newcur = (W.peek myset)
                    if newcur == Nothing
                        then windows (\x -> x)
                        else windows W.shiftMaster
И добавлена в logHook к тому, что уже было в украденном мною конфиге
logHook            =                   --status bar config
            myTopLeftLogHook topLeftBar   <+>      --top left dzen
            myTopRightLogHook topRightBar <+>      --top right dzen
            myBotLeftLogHook botLeftBar   <+>      --bottom left dzen
            myBotRightLogHook botRightBar <+>      --bottom right dzen
            ewmhDesktopsLogHook           >>
            focusWindowHook               >>
            setWMName "LG3D"

Итог, все успешно компилится, только вот при запуске наступает фриз. Вижу все dzen панельки, но сделать ничего не могу. Если в logHook мою ф-цию поставить в начало, то и панелек не увижу. Что делать, как поправить?

 ,

LIKAN
()

Выполнение действий при смене активного окна

Форум — Development

При переключении активного окна хочу выполнить над этим окном некоторые действия (в моем случае отправить окно на вершину стека). Как это в xmonad сделать?

 ,

LIKAN
()

Есть ли способ просмотреть вид sql команды с подставленными аргументами в MYSQL_STMT

Форум — Development

Использую C API. Формирую sql команду на добавление строки.
С виду вроде все корректно. Но после выполнения в базе в одном из полей получается какой-то мусор. (Код ф-ции http://pastebin.com/SXaL5ZH6 проблемы с полем IMEI)
Как перед выполнением MYSQL_STMT посмотреть, какая команда будет выполнена, с уже подставленными аргументами?

 ,

LIKAN
()

Некорректно работает plot

Форум — General

Прохожу курс machine learning на courser -е. При выполнении одного из примеров обнаружил неприятнейшую деталь. Кривая работа ф-ции plot. Те появляется окошко, на мгновение в нем видно то, что должно быть отрисовано. А потом в оке видна всякая ерунда. Те просто однородная заливка серым цветом. Область, где появилось окно не перерисовывается, (вы все знаете как это выглядит), хотя само окно можно двигать. Элементы окна на клики не отвечают. Как с этим бороться? Под виндой все ок. Дистр - arch linux 64 бита, octave - 3.8.1-1

 ,

LIKAN
()

ZMQ_PAIR Неблокирующий zmq_send.

Форум — Development

Есть два приложения, общающихся при помощи ZMQ_PAIR сокетов.
Так вот, проблема в том, что если одно приложение не запущено, то другое, при попытке соединения должно об этом сообщать.
Да вот беда, при вызове zmq_connect возвращается 0, как будто все хорошо, а при вызове zmq_send приложение блокируется, тк ф-ция блокирующая, флаг ZMQ_NONBLOCK не помогает. Как распознать, что на том конце никто не слушает и избежать фриза приложения?

 ,

LIKAN
()

Выбор zmq сокета

Форум — Development

Задача, есть некоторый сервер, который слушает некоторое, заранее известное, кол-во клиентов.
Сервер получает от них сообщение обрабатывает без ответа. Так же сервер может в определенных ситуациях слать сообщения определенным клиентам.
Клиент может подождать, если с сервером уже кто-то общается.
Так же крайне желательно обойтись всего 1 сокетом на принимающей стороне. Request- response сокеты отпадают из-за своего четкого режима работы запрос-ответ. Что посоветуете?

 ,

LIKAN
()

xmonad vs qtcreator

Форум — Desktop

При запуске qtcreator последний какого-то ... всегда запускается в плавающем режиме. Никаких упоминаний оного ide в конфиге не было, кроме привязки к конкретному рабочему столу. Как заставить по дефолту отображаться в тайлинговом режиме? Вот конфиг http://pastebin.com/zbdnstEi

 ,

LIKAN
()

Из C в timestamp mysql

Форум — Development

Какой самый простой способ заполнить поля текущем временем с типом timestamp в mysql при работе с оной при помощи сишного апи?
Другими словами, стоит задача прочитать текущее время в системе и записать это дело в БД в поле с типом timestamp. На вики продемонстрирован какой-то не очень адекватный способ с заполнением каждого поля структуры MYSQL_TIME. Есть ли более удобные подходы?

 ,

LIKAN
()

Продвинутый Си API для mysql

Форум — Development

Помниться, при работе с mssql и c# были отдельной функции для операций вида INSERT, SELECT и тд. так можно было лучше контролировать рез-тат транзакции. В сишном интерфейсе для mysql я вижу только возможность исполнить готовую sql команду mysql_query(). Есть ли аналогичные ф-ции для стандартных операций с mysql?

 ,

LIKAN
()

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