سؤال

I'm learning to use epoll function. But my OS X, Mountain Lion doesn't have a header file, sys/epoll.h.

I'd like to use epoll function on OS X. How Can I use epoll function?

هل كانت مفيدة؟

المحلول

Mac OS X doesn't support epoll, but it does support kqueue which is very similar.

نصائح أخرى

on Mac OSX use kqueue instead of epoll. Do something like this in your java code.

 final boolean isMac = 

  System.getProperty("os.name").toLowerCase(Locale.US).contains("mac");

    // Configure the server.
    // See https://netty.io/wiki/native-transports.html
    EventLoopGroup bossGroup;
    EventLoopGroup workerGroup;

    if (isMac) {
        bossGroup = new io.netty.channel.kqueue.KQueueEventLoopGroup();
        workerGroup = new io.netty.channel.kqueue.KQueueEventLoopGroup(5);
    } else {
        bossGroup =  new io.netty.channel.epoll.EpollEventLoopGroup();
        workerGroup = new io.netty.channel.epoll.EpollEventLoopGroup(5);
    }

Ensure that you have added io.netty on pom.xml

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top