Note that there are some explanatory texts on larger screens.

plurals
  1. USNick Bruun
    primarykey
    data
    text
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. COYes. Virtually all modern UNIX'es support memory mapping through the `mmap` function. The _man_ page gives a lot more detail on it, which in your case would be [like this](http://nixdoc.net/man-pages/FreeBSD/mmap.2.html). Generally, the steps needed are simply to open a file descriptor, preallocate the size of it if necessary (manually or through fallocate or posix_fallocate) and then map it to memory and you're good to go.
      singulars
    2. COThanks for the input on the signal vs. pipe decision. In terms of polling mechanisms, I've implemented them from the ground up to get away with using POSIX AIO libraries, so that's no biggie, but thanks on the heads up -- although in my experience, [libev](http://software.schmorp.de/pkg/libev.html) is somewhat better for specific things. Thanks a lot!
      singulars
    3. COApparently my explanation just got deleted, so here goes. The worker thread deals with both socket I/O and asynchronous disk I/O, which means that it is optimally always waiting for the event queuing mechanism (epoll/kqueue). The problem is, that new tasks are also handed off to the thread, but as these tasks are not necessarily relying on I/O I can't simply just throw them in the event loop of the specific worker thread. So, I have to find a way to notify the worker in this event polling loop, that new app events are available to be handled. Otherwise I'd be wasting time on one or the other.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload