public final void startListening()

in src/main/java/com/fazecast/jSerialComm/SerialPort.java [2066:2102]


		public final void startListening()
		{
			if (eventListenerRunning)
				return;
			eventListenerRunning = true;

			// Reset event listening parameters and start a new listening thread
			resetBuffers();
			if (androidPort != null)
				androidPort.setEventListeningStatus(true);
			else
				setEventListeningStatus(portHandle, true);
			serialEventThread = SerialPortThreadFactory.get().newThread(new Runnable()
			{
				@Override
				public void run()
				{
					while (eventListenerRunning && !isShuttingDown)
					{
						try { waitForSerialEvent(); }
						catch (Exception e)
						{
							eventListenerRunning = false;
							if (userDataListener instanceof SerialPortDataListenerWithExceptions)
								((SerialPortDataListenerWithExceptions)userDataListener).catchException(e);
							else if (userDataListener instanceof SerialPortMessageListenerWithExceptions)
								((SerialPortMessageListenerWithExceptions)userDataListener).catchException(e);
						}
					}
					if (androidPort != null)
						androidPort.setEventListeningStatus(false);
					else
						setEventListeningStatus(portHandle, false);
				}
			});
			serialEventThread.start();
		}