I was talking about the *dispatch* run loop code. I'm not sure it's needed. The 
main queue is a different story. 

-Pierre on his iPhone

> On 11 déc. 2015, at 11:28, Tony Parker via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
> 
>>> On Dec 11, 2015, at 11:25 AM, Pierre Habouzit via swift-corelibs-dev 
>>> <swift-corelibs-dev@swift.org> wrote:
>>> 
>>>> On Dec 11, 2015, at 9:57 AM, Pierre Habouzit via swift-corelibs-dev 
>>>> <swift-corelibs-dev@swift.org> wrote:
>>>> 
>>>> 
>>>> On Dec 11, 2015, at 9:02 AM, Philippe Hausler via swift-corelibs-dev 
>>>> <swift-corelibs-dev@swift.org> wrote:
>>>> 
>>>> This is only tangentially related: but I was attempting to build dispatch 
>>>> as well to start work on CFRunLoop and a few other dispatch bound features 
>>>> in Foundation on linux. I was seeing similar failures as Dzianis 
>>>> Fedarenka. Is there a branch/fork that I can grab to test this stuff out 
>>>> w/ bringing stuff up in Foundation?
>>>> 
>>>> My question is that of design and status of where things are at; CFRunLoop 
>>>> requires a method to interoperate with the main dispatch queue via 
>>>> _dispatch_get_main_queue_port_4CF and _dispatch_main_queue_callback_4CF. 
>>>> CFRunLoop will need to transact upon the same event source type as 
>>>> dispatch to ensure the main queue behaves correctly - so what type of 
>>>> event source should we be using? A socket? A producer/consumer 
>>>> notification via pthread conditions?
>>> 
>>> The linux equivalent to what we’re doing for the runloop is to use an 
>>> eventfd() to replace sending messages to its port.
>> 
>> Though the runloop code should be disabled on linux right now, as it’s 
>> highly dependent on mach ports, and we should discuss whether having a 
>> dispatch queue attached to the runloop makes sense for the non mach version, 
>> and if it does, should it have exactly the same queue_runloop implementation 
>> as today. I think not, and the simplest way to port the implementation is to 
>> have a different implementation for linux completely and not rely on the 
>> weird 4CF hooks that we have on OS X.
>> 
>> -Pierre
> 
> We already have a Windows implementation in there that uses HANDLE, so we are 
> not completely dependent on mach ports.
> 
> I think it’s critical for portability that we maintain the concept of 
> dispatch_main and CFRunLoop main thread integration. The exact mechanism is 
> something we can design, but we have a fairly proven pattern here that would 
> be straightforward to port.
> 
> - Tony
> 
> 
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to