head 1.3; access; symbols pkgsrc-2024Q4:1.2.0.176 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.174 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.172 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.170 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.168 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.166 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.164 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.162 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.160 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.158 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.156 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.154 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.152 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.150 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.148 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.146 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.144 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.142 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.138 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.118 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.140 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.136 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.134 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.132 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.130 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.128 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.126 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.124 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.122 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.120 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.116 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.114 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.112 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.110 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.108 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.106 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.104 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.102 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.100 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.98 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.96 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.94 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.92 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.90 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.88 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.86 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.84 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.82 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.80 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.78 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.76 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.74 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.72 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.70 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.68 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.66 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.64 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.62 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.60 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.58 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.56 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.54 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.52 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.50 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.48 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.46 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.44 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.42 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.40 pkgsrc-2008Q1:1.2.0.38 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.36 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.34 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.32 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.30 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.28 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.26 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.24 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.22 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.20 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.18 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.16 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.14 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.12 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.10 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.8 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.6 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.4 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.2.0.2 netbsd-1-6-1-base:1.2 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2025.01.31.10.48.27; author micha; state dead; branches; next 1.2; commitid eZz11DvctyWySCHF; 1.2 date 2003.01.05.03.31.25; author dsainty; state Exp; branches; next 1.1; 1.1 date 2002.12.31.06.59.56; author dsainty; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.12.31.06.59.56; author dsainty; state Exp; branches; next ; desc @@ 1.3 log @emulators/palmosemulator: Remove for FLTK 1.4 transition Part of Step 1. @ text @$NetBSD: patch-ae,v 1.2 2003/01/05 03:31:25 dsainty Exp $ Without the first hunk of this patch, ROM transfers tend to not get very far due to consistently lost characters. The remainder corrects an assumption in the code that 0 is an invalid file handle, and registers NetBSD-style tty device names. --- SrcUnix/EmTransportSerialUnix.cpp.orig Sat Mar 30 01:11:19 2002 +++ SrcUnix/EmTransportSerialUnix.cpp Sun Nov 24 05:42:39 2002 @@@@ -220,7 +220,7 @@@@ // Programming Mini-Howto") says to turn off these for "raw" (as opposed to // "canonical") mode. - io.c_lflag &= ~(ICANON | ECHO | ISIG); + io.c_lflag &= ~(ICANON | ECHO | ISIG | IEXTEN); // The UNIX Programming FAQ () // recommends just setting all the c_iflags and c_oflags to zero. @@@@ -541,6 +541,20 @@@@ #ifdef __QNXNTO__ results.push_back ("/dev/ser1"); results.push_back ("/dev/ser2"); +#elif __FreeBSD__ + results.push_back ("/dev/pilot"); + results.push_back ("/dev/cuaa0"); + results.push_back ("/dev/cuaa1"); + results.push_back ("/dev/cuaa2"); + results.push_back ("/dev/cuaa3"); +#elif __NetBSD__ + results.push_back ("/dev/pilot"); + results.push_back ("/dev/tty00"); + results.push_back ("/dev/tty01"); + results.push_back ("/dev/tty02"); + results.push_back ("/dev/tty03"); + results.push_back ("/dev/ttyU0"); + results.push_back ("/dev/ttyU1"); #else results.push_back ("/dev/ttyS0"); results.push_back ("/dev/ttyS1"); @@@@ -596,9 +610,9 @@@@ EmHostTransportSerial::EmHostTransportSerial (void) : fReadThread (NULL), fWriteThread (NULL), - fCommHandle (0), - fCommSignalPipeA (0), - fCommSignalPipeB (0), + fCommHandle (-1), + fCommSignalPipeA (-1), + fCommSignalPipeB (-1), fTimeToQuit (false), fDataMutex (), fDataCondition (&fDataMutex), @@@@ -626,9 +640,9 @@@@ { EmAssert (fReadThread == NULL); EmAssert (fWriteThread == NULL); - EmAssert (fCommHandle == 0); - EmAssert (fCommSignalPipeA == 0); - EmAssert (fCommSignalPipeB == 0); + EmAssert (fCommHandle == -1); + EmAssert (fCommSignalPipeA == -1); + EmAssert (fCommSignalPipeB == -1); } @@@@ -662,9 +676,9 @@@@ fCommHandle = open(portName.c_str (), O_RDWR | O_NOCTTY | O_NDELAY); - if (fCommHandle <= 0) + if (fCommHandle < 0) { - fCommHandle = 0; + fCommHandle = -1; return errno; } @@@@ -694,7 +708,7 @@@@ ErrCode EmHostTransportSerial::CreateCommThreads (const EmTransportSerial::ConfigSerial& /*config*/) { - if (fCommHandle) + if (fCommHandle != -1) { PRINTF ("EmTransportSerial::HostOpen: Creating serial port handler threads..."); @@@@ -734,40 +748,41 @@@@ { // If never created, nothing to destroy. - if (!fCommSignalPipeA) + if (fCommSignalPipeA == -1) return errNone; // Signal the threads to quit. - fDataMutex.lock (); - - fTimeToQuit = true; - - int dummy = 0; - write (fCommSignalPipeB, &dummy, sizeof (dummy)); // Signals CommRead. - - fDataCondition.broadcast (); // Signals CommWrite. - fDataMutex.unlock (); + if((fCommSignalPipeA != -1) && (fCommSignalPipeB != -1)) + { + fDataMutex.lock(); - // Wait for the threads to quit. + fTimeToQuit = true; - if (fReadThread) - { - fReadThread->join (NULL); - fWriteThread->join (NULL); - } + int dummy = 0; + write(fCommSignalPipeB, &dummy, sizeof (dummy)); // Signals CommRead. - // Thread objects delete themselves, so set our references to NULL. + fDataCondition.broadcast(); // Signals CommWrite. + fDataMutex.unlock(); - fReadThread = NULL; - fWriteThread = NULL; + // Wait for the threads to quit. - // Close the signal pipe. + if (fReadThread) + { + fReadThread->join (NULL); + fWriteThread->join (NULL); + } - close (fCommSignalPipeA); - close (fCommSignalPipeB); + // Thread objects delete themselves, so set our references to NULL. + fReadThread = NULL; + fWriteThread = NULL; + + // Close the signal pipe. + close (fCommSignalPipeA); + close (fCommSignalPipeB); - fCommSignalPipeA = fCommSignalPipeB = 0; + fCommSignalPipeA = fCommSignalPipeB = -1; + } return errNone; } @@@@ -787,9 +802,11 @@@@ ErrCode EmHostTransportSerial::CloseCommPort (void) { - (void) close (fCommHandle); - - fCommHandle = 0; + if(fCommHandle != -1) + { + int result = close(fCommHandle); + fCommHandle = -1; + } return errNone; } @ 1.2 log @palmosemulator-3.5nb1. Pull in some changes suggested by Thomas Runge in PR#19006: use the pkgsrc libjpeg instead of a local copy, and patch a bug in the serial device file descriptor handling. Also up the emulated "CPU idle" delay from 10ms to 100ms. For some reason the former saturates the CPU (on a Celeron 700 system), but with the latter the program idles at near 0%. This patch is probably not required for native threads. Mileage may vary... @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.1.1.1 2002/12/31 06:59:56 dsainty Exp $ @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ d3 5 a7 2 Without this patch, ROM transfers tend to not get very far due to consistently lost characters. d20 148 @ 1.1.1.1 log @Palm OS Emulator, version 3.5 @ text @@