Ethereal-cvs: [ethereal-cvs] cvs commit: ethereal capture.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Wed, 12 Jan 2000 00:56:38 -0600 (CST)
guy         2000/01/12 00:56:35 CST

  Modified files:
    .                    capture.c 
  Log:
  Enough is enough.  Requiring anybody who uses Ethereal on Linux to
  update their libpcap probably isn't going to scale - the increasing
  frequency with which "Ethereal hangs when I try to capture packets"
  shows up on "ethereal-dev" suggests that, unless and until a libpcap
  with the "select()" in it becomes ubiquitous on Linux, that'll be the
  source of a constant support burden - so we'll just put the "select()"
  in Ethereal if it's being built for Linux.
  
  (Putting it in for platforms where the read timeout argument to
  "pcap_open_live()" works adds an extra useless system call at best and,
  at worst, could make Ethereal not work - "select()" doesn't work on
  "/dev/bpf" devices on FreeBSD 3.3, at least, unless you're in "immediate
  mode", and, whilst "immediate mode" would make Ethereal respond more
  quickly when packets arrive, it might cause Ethereal to respond too
  quickly, doing reads for every new packet rather than waiting for
  multiple packets to arrive and reading them all with one "read()", which
  appears to be at least part of the intent of the read timeout on
  "/dev/bpf" devices in BSD.)
  
  Revision  Changes    Path
  1.89      +45 -2     ethereal/capture.c