Changeset 841


Ignore:
Timestamp:
Jun 27, 2004, 1:55:12 AM (20 years ago)
Author:
Gary Byers
Message:

early NSThread

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/examples/objc-runtime.lisp

    r818 r841  
    223223      (error "Class ~S isn't recognized." m))))
    224224
     225(defun canonicalize-registered-class-or-metaclass (x)
     226  (if (%objc-metaclass-p x)
     227    (canonicalize-registered-metaclass x)
     228    (canonicalize-registered-class x)))
     229
    225230
    226231;;; Open shared libs.
     
    230235
    231236
     237(defun current-ns-thread ()
     238  (with-cstrs ((class-name "NSThread")
     239               (message-selector-name "currentThread"))
     240    (let* ((nsthread-class (#_objc_lookUpClass class-name))
     241           (message-selector (#_sel_getUid message-selector-name)))
     242      (#_objc_msgSend nsthread-class message-selector)
     243      nil)))
     244 
    232245(defun create-void-nsthread ()
    233246  ;; Create an NSThread which does nothing but exit.
     
    268281       (open-shared-library "/System/Library/Frameworks/Cocoa.framework/Cocoa")
    269282       (#_GetCurrentEventQueue)
     283       (current-ns-thread)
    270284       (create-void-nsthread))))
    271285
     
    444458                (%make-objc-ivars c)
    445459              (%add-objc-class c ivars instance-size)
    446               (splay-tree-put class-map c i))))))))
     460              (splay-tree-put class-map c i)
     461              (format t "~& addded ~s" (class-name c)))))))))
    447462
    448463(pushnew #'revive-objc-classes *lisp-system-pointer-functions*
Note: See TracChangeset for help on using the changeset viewer.