Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - Question about socketpair: Page 1 of 3 (3 Items)
   
Question about socketpair  
Does anyone know of any way to write to a socket and block until the data has been read at the other end?

Apparently, the socket has some sort of receiving/sending buffer (SO_RCVBUF/SO_SNDBUF options), I was thinking maybe we 
can change the value to block write(). So I tried setting the buffer size to 1 byte, and for some reason it didn't work:
 setsockopt() returned correctly, but write() function was not blocked anyway. I also tried buffer size 16 and 64 byte, 
they didn't work either.

Any idea?

Thanks.

//*************** Code ***************************
    int size = 1;
    if (setsockopt(fda[0], SOL_SOCKET, SO_RCVBUF, &size, sizeof(int)) < 0){
        cout << "something is wrong" << endl;
    }
    
    if (setsockopt(fda[1], SOL_SOCKET, SO_SNDBUF, &size, sizeof(int)) < 0){
        cout << "something is wrong" << endl;
    }