GithubHelp home page GithubHelp logo

Comments (15)

dfirsht avatar dfirsht commented on May 1, 2024

Comment by rfdickerson
Friday Jan 08, 2016 at 20:43 GMT


We have a patched code that @baileyc has produced. It is good enough to get the functions we call in libdispatch to work for now. However, it doesn't support all flags in libdispatch.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by i-partridge
Friday Jan 08, 2016 at 20:45 GMT


Have you identified any unsupported flags which Phoenix might need in the short/medium term?

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by rfdickerson
Friday Jan 08, 2016 at 20:52 GMT


It's my understanding that the sys module is the only module that will make calls to libdispatch, and everything in sys module seems to build fine so far. So as long as new calls aren't introduced, the Linux port should work fine. I'm not sure about medium term outlook, however.

We do need to have a discussion eventually about concurrency models and potentially using thread pools, but that might not be introduced for a few weeks.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by ricardo-olivieri
Monday Jan 18, 2016 at 16:08 GMT


In order to move to the official libdispatch version, the pull request from Chris must be accepted.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by babt
Monday Jan 18, 2016 at 17:07 GMT


There doesn't seem to be a PR from Chris that I can see.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by ricardo-olivieri
Monday Jan 18, 2016 at 18:27 GMT


@baileyc Hi Chris, we were under the assumption that there was a forked version (opaque-pointer) of the libdispatch library that you were planning on submitting to the official libdispatch repo. Is this still the plan?

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by babt
Monday Jan 18, 2016 at 21:00 GMT


You can use the Apple "official" version very easily. Clone it and then edit dispatch/queue.h... Do a search for DISPATCH_QUEUE_CONCURRENT. Add the following snippet right after the definition of the struct.

DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_CONST DISPATCH_NOTHROW
dispatch_queue_attr_t 
get_dispatch_queue_concurrent(void) {
        return DISPATCH_QUEUE_CONCURRENT;
}

Then make and make install just like you'd do with the "unofficial" version. The chances of Apple accepting a PR with this patch are unlikely. They're more likely to look at solution that would obviate the need for the function and just have Swift recognize the #DEFINE properly. The change above is simple and makes it possible to take advantage of fixes, changes, etc that are going into the main repository and keeps you on the main track so that when they finally figure it out, you don't have to worry about incompatibilities.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by ricardo-olivieri
Monday Jan 18, 2016 at 21:34 GMT


@babt - Thanks for the info. One question and comment: 1) Do you know if the change you described above is the same that Chris implemented in his branch? 2) We are working on the continuous integration build using Travis CI and would prefer not to have to edit source code. Ideally, we want to pull down the repos and build them as they are.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by groved
Monday Jan 18, 2016 at 22:32 GMT


Chris is out on vacation for a week or two. Yes, the change in his branch is similar to what Bill has in his snippet. FWIW, there hasn't been too much activity in libdispatch in the last week that is relevant. We're basically done with the functional port to Linux and the next steps are around build system and plumbing to get libdispatch integration with Swift really working upstream. I think you are probably ok sticking with Chris's branch of libdispatch for at least the next few days.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by babt
Monday Jan 18, 2016 at 22:55 GMT


My patch is basically the same thing just implemented in a simpler less intrusive manner. 😃

Regards,
Bill Abt
[email protected]

Sent from my iPhone 6s

On Jan 18, 2016, at 4:39 PM, Ricardo N. Olivieri [email protected] wrote:

@babt - Thanks for the info. One question and comment: 1) Do you know if the change you described above is the same that Chris implemented in his branch? 2) We are working on the continuous integration build using Travis CI and would prefer not to have to edit source code. Ideally, we want to pull down the repos and build them as they are.


Reply to this email directly or view it on GitHub Enterprise.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Comment by pushkar-nk
Tuesday Jan 19, 2016 at 09:51 GMT


Chris has proposed a "Dispatch overlay" on Linux where the DISPATCH_QUEUE_CONCURRENT (like a few other macros from dispatch.h) is made available via libSwiftDispatch. We are still working on getting this accepted.

Here is Chris's pull request - apple/swift#974

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

This should become unblocked once this PR gets accepted: apple/swift-corelibs-libdispatch#49

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Now that the PR is accepted, we should confirm that the official libdispatch library works with Kitura

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

I am moving this to blocked again as I am unable to figure out how to get libdispatch properly installed and configured. I configured libdispatch with ./configure --with-swift-toolchain=<path> and then made it but am not sure what to do next. I am waiting on a response from @dgrove-oss or anyone else on the runtime team on how to do this.

from kitura.

dfirsht avatar dfirsht commented on May 1, 2024

Updated tags to use the new version of sys, confirm that kitura builds in osx and linux with official libdispatch

from kitura.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.