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