*** empty log message ***

svn path=/trunk/boinc/; revision=8745
This commit is contained in:
Charlie Fenton 2005-10-26 00:58:33 +00:00
parent 4664a03623
commit ecc68efdfc
2 changed files with 20 additions and 0 deletions

View File

@ -13354,3 +13354,12 @@ Rom 24 Oct 2005
main.C
lib/
diagnostics.C
Charlie 25 Oct 2005
- Mac: Work around a bug which caused the core client to block
after receipt of SIGTERM, SIGHUP, SIGINT or SIGQUIT, preventing
the main loop from processing the exit request.
client/
gui_rpc_server.C

View File

@ -248,6 +248,17 @@ void GUI_RPC_CONN_SET::got_select(FDSET_GROUP& fg) {
if (FD_ISSET(lsock, &fg.read_fds)) {
struct sockaddr_in addr;
#ifdef __APPLE__
// For unknown reasons, the FD_ISSET() above succeeds on the
// Macintosh after a SIGTERM, SIGHUP, SIGINT or SIGQUIT is
// received, even if there is no data available on the socket.
// This causes the accept() call to block, preventing the main
// loop from processing the exit request. This is a workaround
// for that problem.
if (gstate.requested_exit)
return;
#endif
boinc_socklen_t addr_len = sizeof(addr);
sock = accept(lsock, (struct sockaddr*)&addr, &addr_len);