Branch: Tag:

2014-12-02

2014-12-02 18:24:19 by Stephen R. van den Berg <srb@cuci.nl>

pgsql: Use close callback to reliably react to remote closes.

268:    Thread.MutexKey lock=shortmux->lock();    towrite-=output_to(socket,towrite);    lock=0; -  if(!i->fillread && !sizeof(this)) { -  PD("%d>Close socket delayed\n",socket->query_fd()); -  socket->close(); -  } +  if(!i->fillread && !sizeof(this)) +  close();    return 0;    }   
390:    error(strerror(socket->errno()));    socket->set_backend(local_backend);    socket->set_buffer_mode(i,0); -  socket->set_nonblocking(i->read_cb,write_cb,0); +  socket->set_nonblocking(i->read_cb,write_cb,close);    Thread.Thread(pgsqlsess->_processloop,this);    return;    };