[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MacTCP.lisp



(defun  %tcp-control (pb code &optional ignore-error-p)
  (setf (rref pb tcpioPB.csCode) code
        (rref pb tcpioPB.ioCompletion) (%null-ptr))
  (let* ((err nil))
    (progn
        (loop
          (when (eql (setq err (#_control :async pb)) 0)
            (let* ((*interrupt-level* 0))
              (while (> (setq err (rref pb tcpioPB.ioResult)) 0))))
          (unless (eql err -23016) (return)))
        (unless (or ignore-error-p (eql err 0))
          (%tcp-err-disp err))
        err)))

Ok, I've tracked it down to the line:
(while (> (setq err (rref pb tcpioPB.ioResult)) 0))

This line never returns a negative number.  When nothing is happening, it
returns 0.  When the string is sent, it returns 1.

Any ideas?
-- 
--
-- "TANSTAAFL" Rich lynch@ils.nwu.edu