View | Details | Raw Unified | Return to bug 21375
Collapse All | Expand All

(-)dispatch.c (+19 lines)
Lines 701-707 Link Here
701
701
702
	if ((result =
702
	if ((result =
703
	     receive_packet (ip, u.packbuf, sizeof u, &from, &hfrom)) < 0) {
703
	     receive_packet (ip, u.packbuf, sizeof u, &from, &hfrom)) < 0) {
704
		int save_errno = errno;
705
704
		warn ("receive_packet failed on %s: %m", ip -> name);
706
		warn ("receive_packet failed on %s: %m", ip -> name);
707
		if (save_errno == ENXIO) {
708
			/* 
709
			 * The interface went away. All we can do for now
710
			 * is terminate since there is no support
711
			 * here for handling dynamic interfaces.
712
			 *
713
			 * This behaviour is relatively safe. The
714
			 * only time an interface should go away in
715
			 * normal operation is when a laptop NIC card
716
			 * is removed. If that happens there's no reason
717
			 * for us to stick around. The laptop's OS should
718
			 * handle restarting us when the interface comes
719
			 * back.
720
			 */
721
			error("%s: interface removed?",
722
			      ip -> name);
723
		}
705
		return;
724
		return;
706
	}
725
	}
707
	if (result == 0)
726
	if (result == 0)

Return to bug 21375