comparison common-channel.c @ 546:568638be7203 agent-client

propagate from branch 'au.asn.ucc.matt.dropbear' (head 899a8851a5edf840b2f7925bcc26ffe99dcac54d) to branch 'au.asn.ucc.matt.dropbear.cli-agent' (head 6bbab8364de17bd9ecb1dee5ffb796e48c0380d2)
author Matt Johnston <matt@ucc.asn.au>
date Wed, 01 Jul 2009 04:16:32 +0000
parents a3748e54273c
children a98a2138364a
comparison
equal deleted inserted replaced
500:d588e3ea557a 546:568638be7203
274 && channel->type->check_close(channel)) 274 && channel->type->check_close(channel))
275 { 275 {
276 channel->flushing = 1; 276 channel->flushing = 1;
277 } 277 }
278 278
279 // if a type-specific check_close is defined we will only exit 279 /* if a type-specific check_close is defined we will only exit
280 // once that has been triggered. this is only used for a server "session" 280 once that has been triggered. this is only used for a server "session"
281 // channel, to ensure that the shell has exited (and the exit status 281 channel, to ensure that the shell has exited (and the exit status
282 // retrieved) before we close things up. 282 retrieved) before we close things up. */
283 if (!channel->type->check_close 283 if (!channel->type->check_close
284 || channel->type->check_close(channel)) { 284 || channel->type->check_close(channel)) {
285 close_allowed = 1; 285 close_allowed = 1;
286 } 286 }
287 287
689 689
690 if (channel->recv_eof) { 690 if (channel->recv_eof) {
691 dropbear_exit("received data after eof"); 691 dropbear_exit("received data after eof");
692 } 692 }
693 693
694 if (fd < 0) { 694 if (fd < 0) {
695 /* If we have encountered failed write, the far side might still 695 /* If we have encountered failed write, the far side might still
696 * be sending data without having yet received our close notification. 696 * be sending data without having yet received our close notification.
697 * We just drop the data. */ 697 * We just drop the data. */
698 return; 698 return;
699 } 699 }