2012-07-19 24 views
0

我想寫入串口設備。從設備讀取每次寫入之後。如果設備沒有響應,我希望讀取操作超時。用串口讀超時使用boost

我發現了一個相當優雅的解決方案here on SO。但是,在我的應用程序中,端口和io_service是成員變量,但是當我嘗試使用io_service成員安裝deadline_timer時,我得到訪問衝突。

回答

0

使用成員變量io_service創建deadline_timer應該沒有問題。

如果deadline_timer是與io_service相同的類中的成員,那麼必須確保deadline_timer在io_service之後聲明,以便在構建deadline_timer時構建io_service。

+0

按照正確順序構建的確解決了這個問題,但是當使用bind()調用async_read()時發生下一次訪問衝突 – Simon 2012-07-19 09:53:21

+0

由於io_service不是第一個成員變量而導致第二次訪問衝突。 – Simon 2012-07-19 12:39:58