background vs. foreground ?
    Lin Wang 
    linwang at utstar.com
       
    Tue Nov  5 01:49:39 EST 2002
    
    
  
Hello, All:
I installed cyrus-imapd-2.1.5 in solaris 2.8, with db-4.0.14 and
cyrus-sasl-2.1.6 altogether.
Now I'm testing a c++ program treating with the concurrent accesses
(Read/Write) to the mailboxes of Cyrus IMAPD, each as an independent
process.
When I run /usr/cyrus/bin/master as a foreground proc, it works well;
However, if I run it as background proc (like /usr/cyrus/bin/master&), there
was problem: almost all the processing be blocked on "uid fetch" command,
where my codes like this:
    FD_ZERO(&fdRead);
    FD_SET(m_nSocket, &fdRead);
    nRes = select(m_nSocket + 1, &fdRead, NULL, NULL, &timeout);
    if ( nRes < 0 )
        continue;
    else if ( nRes == 0 )
        return RECV_RESP_TIMEOUT;//Request TimeOut
    if ( FD_ISSET(m_nSocket, &fdRead) ) {
        nRecvLen += recv(m_nSocket, bufRecv.begin() + nRecvLen,
bufRecv.size(), 0);
        ... ...
    }
I don't know why it got blocked? what happened when running background?
and it sounds strange, doesn't it?
Thanks for any help!
Sincerely,
Lin        Nov 5, 2002
linwang at utstar.com
    
    
More information about the Info-cyrus
mailing list