Нарушение прав доступа в пользовательском классе последовательного сервера в MSVC ++ 6.0 с использованием потоков повышения - PullRequest
1 голос
/ 14 декабря 2011

У меня есть приложение, которое должно иметь возможность принимать команды от Ethernet, последовательного порта и / или графического интерфейса пользователя, обрабатывать их, а затем выводить результаты по Ethernet и последовательному каналу.Основной операционной системой является Windows NT4.0, поэтому я ограничен версиями MSVC ++ 6.0 и Boost verion 1.34.1.Я создал класс для работы в качестве сервера последовательного порта.В отдельном потоке вызывается конструктор класса, который открывает порт и получает дескриптор.Затем вызывается его функция «ProcessMessages», которая постоянно следит за последовательным портом для входящих сообщений.

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

...