diff options
author | Volker Lendecke <vl@samba.org> | 2012-02-28 00:56:10 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2012-03-10 15:34:11 +0100 |
commit | 3b2c9bebc0aa08fe9a65afe5870bea490c5fb33a (patch) | |
tree | 9262ee255b695b709d160e32ef78aeb6f723326c /source3/smbd/blocking.c | |
parent | c9870a62f5d8865e67ae519db3f8e890afb6ee70 (diff) | |
download | samba-3b2c9bebc0aa08fe9a65afe5870bea490c5fb33a.tar.gz samba-3b2c9bebc0aa08fe9a65afe5870bea490c5fb33a.tar.bz2 samba-3b2c9bebc0aa08fe9a65afe5870bea490c5fb33a.zip |
s3: Replace chain_reply
This is a new implementation of our andx handling code. The old
code was quite involved in that it was called from within the reply_
handlers. This leads to pretty complex faking of smb_request
structures to give them the same environment, independent of whether
they are called directly or from within chain_reply.
chain_reply needs to go because it blocks really async handling of
chained requests.
Diffstat (limited to 'source3/smbd/blocking.c')
-rw-r--r-- | source3/smbd/blocking.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c index ac878926d1..d512b960b0 100644 --- a/source3/smbd/blocking.c +++ b/source3/smbd/blocking.c @@ -282,7 +282,14 @@ static void reply_lockingX_success(struct blocking_lock_record *blr) * that here and must set up the chain info manually. */ - chain_reply(req); + if (!srv_send_smb(req->sconn, + (char *)req->outbuf, + true, req->seqnum+1, + IS_CONN_ENCRYPTED(req->conn)||req->encrypted, + &req->pcd)) { + exit_server_cleanly("construct_reply: srv_send_smb failed."); + } + TALLOC_FREE(req->outbuf); } |