Changeset 715


Ignore:
Timestamp:
Mar 24, 2004, 12:49:58 AM (21 years ago)
Author:
Gary Byers
Message:

Get FDs right when starting a listener process. Note package correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/examples/cocoa-listener.lisp

    r706 r715  
    2828    ((input-stream :reader cocoa-listener-process-input-stream)))
    2929
    30 (defun new-cocoa-listener-process (procname input-fd output-fd)
     30(defun new-cocoa-listener-process (procname input-fd output-fd peer-fd)
    3131  (let* ((input-stream (make-selection-input-stream
    3232                        input-fd
    33                         :peer-fd output-fd
     33                        :peer-fd peer-fd
    3434                        :elements-per-buffer (#_fpathconf
    3535                                              input-fd
     
    222222    (send controller 'release)
    223223    (setf (hi::buffer-process (hemlock-document-buffer self))
    224           (let* ((tty (slot-value controller 'clientfd)))
    225             (new-cocoa-listener-process listener-name tty tty)))
     224          (let* ((tty (slot-value controller 'clientfd))
     225                 (peer-tty (send (slot-value controller 'filehandle)
     226                                 'file-descriptor)))
     227            (new-cocoa-listener-process listener-name tty tty peer-tty)))
    226228    controller))
    227229
     
    252254
    253255(defun cocoa-ide-note-package (package)
    254   (process-interrupt *cocoa-event-process*
    255                        #'(lambda (proc name)
    256                            (dolist (buf hi::*buffer-list*)
    257                              (when (eq proc (hi::buffer-process buf))
    258                                (setf (hi::variable-value 'hemlock::current-package :buffer buf) name))))
    259                        *current-process*
    260                        (shortest-package-name package)))
     256  (with-autorelease-pool
     257      (process-interrupt *cocoa-event-process*
     258                         #'(lambda (proc name)
     259                             (dolist (buf hi::*buffer-list*)
     260                               (when (eq proc (hi::buffer-process buf))
     261                                 (setf (hi::variable-value 'hemlock::current-package :buffer buf) name))))
     262                         *current-process*
     263                         (shortest-package-name package))))
    261264
    262265(defmethod hi::send-string-to-listener-process ((process cocoa-listener-process)
Note: See TracChangeset for help on using the changeset viewer.