diff options
| author | jenglish <jenglish@flightlab.com> | 2008-02-27 03:35:47 (GMT) | 
|---|---|---|
| committer | jenglish <jenglish@flightlab.com> | 2008-02-27 03:35:47 (GMT) | 
| commit | 1b53611f89790af211f2811b6eb6acb094e04a00 (patch) | |
| tree | cc3da485b97af6db3d3b02a01c3162bf10955943 /unix/tclUnixChan.c | |
| parent | bd73b8d2cd6de4ced39064b2c152e692c2ebe342 (diff) | |
| download | tcl-1b53611f89790af211f2811b6eb6acb094e04a00.zip tcl-1b53611f89790af211f2811b6eb6acb094e04a00.tar.gz tcl-1b53611f89790af211f2811b6eb6acb094e04a00.tar.bz2 | |
Remove dead/unused portability-related #defines and unused conditional code.
See SF#1901828 for discussion and archaeological notes.
Diffstat (limited to 'unix/tclUnixChan.c')
| -rw-r--r-- | unix/tclUnixChan.c | 127 | 
1 files changed, 5 insertions, 122 deletions
| diff --git a/unix/tclUnixChan.c b/unix/tclUnixChan.c index 7e3c507..e0f7761 100644 --- a/unix/tclUnixChan.c +++ b/unix/tclUnixChan.c @@ -10,7 +10,7 @@   * See the file "license.terms" for information on usage and redistribution of   * this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: tclUnixChan.c,v 1.89 2007/12/13 15:28:42 dgp Exp $ + * RCS: @(#) $Id: tclUnixChan.c,v 1.90 2008/02/27 03:35:50 jenglish Exp $   */  #include "tclInt.h"	/* Internal definitions for Tcl. */ @@ -65,22 +65,6 @@  #   define GETCONTROL(fd, intPtr)	ioctl((fd), TIOCMGET, (intPtr))  #   define SETCONTROL(fd, intPtr)	ioctl((fd), TIOCMSET, (intPtr)) -    /* -     * TIP #35 introduced a different on exit flush/close behavior that does -     * not work correctly with standard channels on all systems. The problem -     * is tcflush throws away waiting channel data. This may be necessary for -     * true serial channels that may block, but isn't correct in the standard -     * case. This might be replaced with tcdrain instead, but that can block. -     * For now, we revert to making this do nothing, and TtyOutputProc being -     * the same old FileOutputProc. - hobbs [Bug #525783] -     */ - -#   define BAD_TIP35_FLUSH 0 -#   if BAD_TIP35_FLUSH -#	define TTYFLUSH(fd)		tcflush((fd), TCIOFLUSH); -#   else -#	define TTYFLUSH(fd) -#   endif /* BAD_TIP35_FLUSH */  #   ifdef FIONREAD  #	define GETREADQUEUE(fd, int)	ioctl((fd), FIONREAD, &(int))  #   elif defined(FIORDCHK) @@ -158,8 +142,6 @@ typedef struct FileState {  typedef struct TtyState {      FileState fs;		/* Per-instance state of the file descriptor.  				 * Must be the first field. */ -    int stateUpdated;		/* Flag to say if the state has been modified -				 * and needs resetting. */      IOSTATE savedState;		/* Initial state of device. Used to reset  				 * state when device closed. */  } TtyState; @@ -270,8 +252,6 @@ static int		TcpOutputProc(ClientData instanceData,  			    const char *buf, int toWrite, int *errorCode);  static void		TcpWatchProc(ClientData instanceData, int mask);  #ifdef SUPPORTS_TTY -static int		TtyCloseProc(ClientData instanceData, -			    Tcl_Interp *interp);  static void		TtyGetAttributes(int fd, TtyAttrs *ttyPtr);  static int		TtyGetOptionProc(ClientData instanceData,  			    Tcl_Interp *interp, const char *optionName, @@ -282,10 +262,6 @@ static unsigned long	TtyGetSpeed(int baud);  #endif /* DIRECT_BAUD */  static FileState *	TtyInit(int fd, int initialize);  static void		TtyModemStatusStr(int status, Tcl_DString *dsPtr); -#if BAD_TIP35_FLUSH -static int		TtyOutputProc(ClientData instanceData, -			    const char *buf, int toWrite, int *errorCode); -#endif /* BAD_TIP35_FLUSH */  static int		TtyParseMode(Tcl_Interp *interp, const char *mode,  			    int *speedPtr, int *parityPtr, int *dataPtr,  			    int *stopPtr); @@ -331,13 +307,9 @@ static Tcl_ChannelType fileChannelType = {  static Tcl_ChannelType ttyChannelType = {      "tty",			/* Type name. */      TCL_CHANNEL_VERSION_5,	/* v5 channel */ -    TtyCloseProc,		/* Close proc. */ +    FileCloseProc,		/* Close proc. */      FileInputProc,		/* Input proc. */ -#if BAD_TIP35_FLUSH -    TtyOutputProc,		/* Output proc. */ -#else /* !BAD_TIP35_FLUSH */      FileOutputProc,		/* Output proc. */ -#endif /* BAD_TIP35_FLUSH */      NULL,			/* Seek proc. */      TtySetOptionProc,		/* Set option proc. */      TtyGetOptionProc,		/* Get option proc. */ @@ -738,94 +710,6 @@ FileGetHandleProc(  }  #ifdef SUPPORTS_TTY -/* - *---------------------------------------------------------------------- - * - * TtyCloseProc -- - * - *	This function is called from the generic IO level to perform - *	channel-type-specific cleanup when a tty based channel is closed. - * - * Results: - *	0 if successful, errno if failed. - * - * Side effects: - *	Closes the device of the channel. - * - *---------------------------------------------------------------------- - */ - -static int -TtyCloseProc( -    ClientData instanceData,	/* Tty state. */ -    Tcl_Interp *interp)		/* For error reporting - unused. */ -{ -#if BAD_TIP35_FLUSH -    TtyState *ttyPtr = (TtyState *) instanceData; -#endif /* BAD_TIP35_FLUSH */ - -#ifdef TTYFLUSH -    TTYFLUSH(ttyPtr->fs.fd); -#endif /* TTYFLUSH */ - -#if 0 -    /* -     * TIP#35 agreed to remove the unsave so that TCL could be used as a -     * simple stty. It would be cleaner to remove all the stuff related to -     *	  TtyState.stateUpdated -     *	  TtyState.savedState -     * Then the structure TtyState would be the same as FileState. IMO this -     * cleanup could better be done for the final 8.4 release after nobody -     * complained about the missing unsave. - schroedter -     */ -    if (ttyPtr->stateUpdated) { -	SETIOSTATE(ttyPtr->fs.fd, &ttyPtr->savedState); -    } -#endif - -    return FileCloseProc(instanceData, interp); -} - -/* - *---------------------------------------------------------------------- - * - * TtyOutputProc-- - * - *	This function is invoked from the generic IO level to write output to - *	a TTY channel. - * - * Results: - *	The number of bytes written is returned or -1 on error. An output - *	argument contains a POSIX error code if an error occurred, or zero. - * - * Side effects: - *	Writes output on the output device of the channel if the channel is - *	not designated to be closed. - * - *---------------------------------------------------------------------- - */ - -#if BAD_TIP35_FLUSH -static int -TtyOutputProc( -    ClientData instanceData,	/* File state. */ -    const char *buf,		/* The data buffer. */ -    int toWrite,		/* How many bytes to write? */ -    int *errorCodePtr)		/* Where to store error code. */ -{ -    if (TclInExit()) { -	/* -	 * Do not write data during Tcl exit. Serial port may block preventing -	 * Tcl from exit. -	 */ - -	return toWrite; -    } - -    return FileOutputProc(instanceData, buf, toWrite, errorCodePtr); -} -#endif /* BAD_TIP35_FLUSH */ -  #ifdef USE_TERMIOS  /*   *---------------------------------------------------------------------- @@ -912,7 +796,6 @@ TtySetOptionProc(  	 */  	TtySetAttributes(fsPtr->fd, &tty); -	((TtyState *) fsPtr)->stateUpdated = 1;  	return TCL_OK;      } @@ -1704,10 +1587,10 @@ TtyInit(      int initialize)  {      TtyState *ttyPtr; +    int stateUpdated = 0;      ttyPtr = (TtyState *) ckalloc((unsigned) sizeof(TtyState));      GETIOSTATE(fd, &ttyPtr->savedState); -    ttyPtr->stateUpdated = 0;      if (initialize) {  	IOSTATE iostate = ttyPtr->savedState; @@ -1718,7 +1601,7 @@ TtyInit(  		iostate.c_cflag & CREAD ||  		iostate.c_cc[VMIN] != 1 ||  		iostate.c_cc[VTIME] != 0) { -	    ttyPtr->stateUpdated = 1; +	    stateUpdated = 1;  	}  	iostate.c_iflag = IGNBRK;  	iostate.c_oflag = 0; @@ -1741,7 +1624,7 @@ TtyInit(  	 * Only update if we're changing anything to avoid possible blocking.  	 */ -	if (ttyPtr->stateUpdated) { +	if (stateUpdated) {  	    SETIOSTATE(fd, &iostate);  	}      } | 
