LINUX.ORG.RU

Сообщения Varcom

 

WaitForMultipleObjects = ?

Эта прекрасная виндовая функция, которая позволяла мирно завершать поток: одному или нескольким событиям поток выполнял заданые действия, а по другому можно было мирно завершиться. В линуксе такого обнаружить не удалось: pthread_cond_wait позволяет ждать только одного события. В свое время меня учили, что за функции типа pthread_cancel обычно выдирают руки из ж... Так как можно красиво сделать так, чтобы в нужный момент поток завершился сам?

Varcom
()

Эксклюзив для tty.

Проблема: при открытии порта ttyS* он остается доступен другим процессам. Т.е. несколько процессов могут ОДНОВРЕМЕННО писать в него, читает тот, который открыл дескриптор первым. Открывал так: int tty = open("/dev/ttyS0", O_RDWR | O_NONBLOCK | O_NOCTTY | O_EXCL); Пробовал залочить: lockf(tty, F_LOCK, 0); или fcntl(tty, F_SETFS, FD_READ, FD_WRITE); или даже fcntl(tty, F_SETFD, FD_READ, FD_WRITE); fcntl(tty, F_SETLK, FD_READ, FD_WRITE); Эффекта везде ноль. Второй процесс спокойно открывает и пишет в порт.Что делать?

Varcom
()

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