diff --git a/basis/core-foundation/file-descriptors/file-descriptors.factor b/basis/core-foundation/file-descriptors/file-descriptors.factor index bc982dff35..28b8b681f3 100644 --- a/basis/core-foundation/file-descriptors/file-descriptors.factor +++ b/basis/core-foundation/file-descriptors/file-descriptors.factor @@ -6,7 +6,13 @@ IN: core-foundation.file-descriptors TYPEDEF: void* CFFileDescriptorRef TYPEDEF: int CFFileDescriptorNativeDescriptor -TYPEDEF: void* CFFileDescriptorCallBack + +CALLBACK: void CFFileDescriptorCallBack ( + CFFileDescriptorRef f, + CFOptionFlags callBackTypes, + void *info +) ; + C-TYPE: CFFileDescriptorContext FUNCTION: CFFileDescriptorRef CFFileDescriptorCreate ( diff --git a/basis/core-foundation/run-loop/run-loop.factor b/basis/core-foundation/run-loop/run-loop.factor index 14e80a5c98..724812d3c2 100644 --- a/basis/core-foundation/run-loop/run-loop.factor +++ b/basis/core-foundation/run-loop/run-loop.factor @@ -56,11 +56,6 @@ FUNCTION: void CFRunLoopRemoveTimer ( CFStringRef mode ) ; -CALLBACK: void CFRunLoopTimerCallBack ( - CFRunLoopTimerRef timer, - void *info -) ; - CFSTRING: CFRunLoopDefaultMode "kCFRunLoopDefaultMode" TUPLE: run-loop-state fds sources timers ; diff --git a/basis/core-foundation/timers/timers.factor b/basis/core-foundation/timers/timers.factor index adf4e8a1c6..595b68df88 100644 --- a/basis/core-foundation/timers/timers.factor +++ b/basis/core-foundation/timers/timers.factor @@ -5,7 +5,12 @@ core-foundation.time calendar.unix kernel locals math system ; IN: core-foundation.timers TYPEDEF: void* CFRunLoopTimerRef -TYPEDEF: void* CFRunLoopTimerCallBack + +CALLBACK: void CFRunLoopTimerCallBack ( + CFRunLoopTimerRef timer, + void *info +) ; + TYPEDEF: void* CFRunLoopTimerContext FUNCTION: CFRunLoopTimerRef CFRunLoopTimerCreate ( diff --git a/basis/io/backend/unix/multiplexers/run-loop/run-loop.factor b/basis/io/backend/unix/multiplexers/run-loop/run-loop.factor index 2bf03ec9a1..51405b203c 100644 --- a/basis/io/backend/unix/multiplexers/run-loop/run-loop.factor +++ b/basis/io/backend/unix/multiplexers/run-loop/run-loop.factor @@ -10,13 +10,12 @@ IN: io.backend.unix.multiplexers.run-loop TUPLE: run-loop-mx kqueue-mx ; : file-descriptor-callback ( -- callback ) - void { CFFileDescriptorRef CFOptionFlags void* } - cdecl [ + [ 3drop 0 mx get-global kqueue-mx>> wait-for-events reset-run-loop yield - ] alien-callback ; + ] CFFileDescriptorCallBack ; : ( -- mx ) [