Author: tridge Date: 2007-08-08 03:20:37 +0000 (Wed, 08 Aug 2007) New Revision: 24276
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24276 Log: don't mark a stream readable until after the messaging setup is complete. This is needed because messaging setup with ctdb involve events, and we don't want a SMB packet to be processed on this stream until after the stream structure is fully setup Modified: branches/SAMBA_4_0/source/smbd/service_stream.c Changeset: Modified: branches/SAMBA_4_0/source/smbd/service_stream.c =================================================================== --- branches/SAMBA_4_0/source/smbd/service_stream.c 2007-08-08 03:19:38 UTC (rev 24275) +++ branches/SAMBA_4_0/source/smbd/service_stream.c 2007-08-08 03:20:37 UTC (rev 24276) @@ -172,8 +172,7 @@ srv_conn->ops = stream_socket->ops; srv_conn->event.ctx = ev; srv_conn->event.fde = event_add_fd(ev, srv_conn, socket_get_fd(sock), - EVENT_FD_READ, - stream_io_handler_fde, srv_conn); + 0, stream_io_handler_fde, srv_conn); if (!socket_check_access(sock, "smbd", lp_hostsallow(-1), lp_hostsdeny(-1))) { stream_terminate_connection(srv_conn, "denied by access rules"); @@ -202,6 +201,9 @@ talloc_free(c); talloc_free(s); + /* we're now ready to start receiving events on this stream */ + EVENT_FD_READABLE(srv_conn->event.fde); + /* call the server specific accept code */ stream_socket->ops->accept_connection(srv_conn); }