src/org/jnetpcap/PcapTask.java
public void start() throws InterruptedException {
		if (thread != null) {
			stop();
		}

		/*
		 * Use our own Runnable in order to synchronize the start of the thread. We
		 * delegate to the user overriden run() method after the setup synching is
		 * done.
		 */
		thread =
	    new Thread(new Runnable() {

				public void run() {
					PcapTask.this.run();
					thread = null; // Cleanup
        }
	    	
	    }, (user != null) ? user.toString() : pcap.toString());

		thread.setDaemon(true);
		thread.start();
	}
/**
	 * Creates and starts up the background thread while synchronizing with the
	 * background thread. The user can be assured that when this method returns,
	 * the background thread has been started and has entered its Runnable.run
	 * method.
	 * 
	 * @throws InterruptedException
	 *           if the synchronization between threads was interrupted
	 */
Creates and starts up the background thread while synchronizing with the
background thread. The user can be assured that when this method returns,
the background thread has been started and has entered its Runnable.run
method.

@throws InterruptedException
if the synchronization between threads was interrupted
Creates and starts up the background thread while synchronizing with the background thread . The user can be assured that when this method returns the background thread has been started and has entered its Runnable . run method . @throws InterruptedException if the synchronization between threads was interrupted
public void start() throws InterruptedException {
		if (thread != null) {
			stop();
		}
		/*
		 * Use our own Runnable in order to synchronize the start of the thread. We
		 * delegate to the user overriden run() method after the setup synching is
		 * done.
		 */
		thread =
	    new Thread(new Runnable() {
				public void run() {
					PcapTask.this.run();
					thread = null; 
        }
	    }, (user != null) ? user.toString() : pcap.toString());
		thread.setDaemon(true);
		thread.start();
	}
public void start ( ) throws InterruptedException { if ( thread != null ) { stop ( ) ; } /*
		 * Use our own Runnable in order to synchronize the start of the thread. We
		 * delegate to the user overriden run() method after the setup synching is
		 * done.
		 */ thread = new Thread ( new Runnable ( ) { public void run ( ) { PcapTask . this . run ( ) ; thread = null ; } } , ( user != null ) ? user . toString ( ) : pcap . toString ( ) ) ; thread . setDaemon ( true ) ; thread . start ( ) ; }
Creates and starts up the background thread while synchronizing with the
 background thread.
Creates and starts up the background thread while synchronizing with the background thread .
// Cleanup