eintr

    2熱度

    1回答

    我有一個C++應用程序,包括這樣的功能: int mySelect(const int fdMaxPlus1, fd_set *readFDset, fd_set *writeFDset, struct timeval *timeout) { retry: const int selectReturn = ::select(fdMaxP

    0熱度

    1回答

    我在使用std :: async在任務涉及套接字時並行執行任務時遇到問題。 我的程序是用標準C++ for Linux編寫的簡單的TCP套接字服務器。當客戶端連接時,打開專用端口並啓動單獨的線程,因此每個客戶端都在自己的線程中進行服務。 客戶端對象包含在地圖中。 我有一個功能可以向所有客戶端廣播一條消息。我最初寫它如下: // ConnectedClient is an object repres

    2熱度

    1回答

    在我最近的一個項目,我碰巧在同一個進程有(Python程序,其多線程應用程序): 一個boost :: Python模塊到對AVT PvAPI SDK鏈接庫,即在最廣泛的意義上來說是一個驅動程序來獲取相機的圖像幀。這個庫(PvApi SDK)每幾毫秒產生一個SIGALRM。 另一個普通的Python模塊,打算使用pyserial來做一些串行I/O。這反過來使用Python的包裝select.sel

    0熱度

    1回答

    我有一個創建TCP服務器的程序。當accept()連接到客戶端時,我fork()它並處理連接。當客戶端由於SIGCHLD而離開它時調用waitpid(),但是這導致accept()中的EINTR。我的問題是應該如何處理?我讀過很多不同的方法。 大多數人說忽略它的EINT並再次嘗試accept()。我甚至見過一個宏來做到這一點:TEMP_FAILURE_RETRY()。有人說設置sigaction標

    0熱度

    2回答

    作爲一個c編碼器現在 - 既不是新手也不是專家。現在,我在PPC Linux上有一個C語言的守護進程應用程序。我使用PHP的socket_connect作爲客戶端來本地連接到此服務。服務器使用epoll通過Unix套接字複用連接。用戶提交的字符串是使用strstr()解析某些字符/單詞的,如果找到,則會同時產生4個可連接的線程到不同的網站。我使用套接字,連接,寫入和讀取,在每個線程的端口80上通過

    3熱度

    1回答

    我有C代碼這樣 int childid; int parentid; void siginthandler(int param) { // if this is the parent process if(getpid() == parentid){ //handler code which sends SIGINT signal to child process kill(

    3熱度

    2回答

    背景:這是關於在C++(Linux/GCC)中處理系統調用的EINTR的this thread的後續問題。無論我是否打算介紹我的應用程序,似乎我應該將系統調用設置爲errno至EINTR作爲特例。有many,many,many關於使用goto的意見。 我的問題:是一個系統調用設置errno到EINTR其中goto被認爲是正常的情況下?如果沒有,那麼你會如何建議轉換下面的代碼來處理EINTR? if

    11熱度

    1回答

    衆所周知,一些阻塞呼叫,如read和write將返回-1並將errno設置爲EINTR,我們需要處理此問題。 我的問題是:這是否適用於非阻塞呼叫,例如,將套接字設置爲O_NONBLOCK? 由於一些文章和來源,我已經讀過說,非阻塞調用不需要打擾這一點,但我沒有找到關於它的權威參考。如果是這樣,它是否適用於不同的實現?

    3熱度

    1回答

    我有三星SoC s3c6410(ARM11)上的Linux板。 我使用buildroot構建rootfs: Python 2.7.1,uClibc-0.9.31。 Linux內核:Linux的 的buildroot 2.6.28.6#177星期一10月3日12時50分57秒EEST 2011 armv6l GNU/Linux的 我的應用程序,寫在巨蟒,在一些mysterios conditons提