All right. Give this a shot (I'm assuming you do have Leopard): http://osxbook.com/tmp/MacFUSE-Core-10.5-1.3.1-select.dmg
This will simply install over the latest official release. I've merely added the select functionality, not tested it (even once!). So first thing you should tell me is if you can use select at all on fuse_chan_fd() with this build. If it works, I'll check in the additions. If it doesn't, it'd be a good idea for you to give me a self-contained test case that I can use. Amit On Jan 24, 6:46 pm, paul mineiro <[EMAIL PROTECTED]> wrote: > select is fine, I'll try that. > > -- p > > On Jan 24, 2:38 pm, Amit Singh <[EMAIL PROTECTED]> wrote: > > > Do you need *poll* specifically (and not select)? > > > On Mac OS X, poll(2) is implemented through kqueue(2) in the kernel. > > Devices don't support poll on OS X--the device file switch doesn't > > also have a poll function. It does have select though. > > > In theory, I could plumb the whole thing so that you could, in fact, > > either use kqueue() yourself or go through poll(), but that's not what > > I had in mind. It's just not worth it to do it in MacFUSE. (MacFUSE > > does, however, support kqueue for file systems--I'm just talking about > > the user-kernel device layer here.) > > > I could probably give you a select() implementation to try though--if > > you're interested. Let me know. > > > Amit > > > On Jan 24, 1:36 pm, paul mineiro <[EMAIL PROTECTED]> wrote: > > > > I'm working on Erlang bindings for FUSE. (http://code.google.com/p/ > > > fuserl/) The ultimate goal is to make a distributed filesystem by > > > leveraging Mnesia. > > > > My first version of the fuse bindings used threads but the Erlang > > > aesthetic is extreme concurrency so I thought reimplementing with poll > > > was desirable. It works under Linux but fails under Mac. If you > > > implement this, I could definitely test it. > > > > Production here is Linux but I have a Mac desktop so I like to have > > > things work on it. I would love to see you work on this, but I can > > > just spawn one extra thread (on the mac only), read the raw request > > > off the kernel file descriptor and then socketpair-it over to the > > > other thread and then just plug into my poll based architecture over > > > there. Not super efficient but oh well. > > > > -- p > > > > On Jan 23, 8:20 pm, Amit Singh <[EMAIL PROTECTED]> wrote: > > > > > Tell me something: > > > > > Why do you need this? Can you give an example of code where you > > > > (justifiably) need to do a poll or select on fuse_chan_fd()? > > > > > As is the case with countless other things, Apple didn't foresee > > > > anybody (except themselves) ever needing to do this. One structure I > > > > need in the kernel is not exported by Apple, so this would be kludgy > > > > even if I did it. > > > > > Do you have the rest of your code working? That is, if I gave you a > > > > version of MacFUSE where this is supposed to work, will you be able to > > > > test it? > > > > > Amit > > > > > On Jan 23, 7:30 pm, paul mineiro <[EMAIL PROTECTED]> wrote: > > > > > > cool. well at least i'm not crazy. > > > > > > thanks for the prompt reply. i look forward to poll support. > > > > > > -- p > > > > > > On Jan 23, 5:51 pm, Amit Singh <[EMAIL PROTECTED]> wrote: > > > > > > > It won't work. > > > > > > > I haven't implemented support for poll/select in the user-kernel > > > > > > MacFUSE device layer. I haven't needed it so far, and nobody has > > > > > > asked > > > > > > for it yet. It should be reasonably straightforward to get this > > > > > > going-- > > > > > > I'll try to find time to do it in the near future (but no promises). > > > > > > > Amit > > > > > > > On Jan 23, 5:26 pm, paul mineiro <[EMAIL PROTECTED]> wrote: > > > > > > > > hi. > > > > > > > > i'm trying to port my code from linux and ran into a problem. > > > > > > > > i'm getting POLLNVAL in revents from poll after calling poll with > > > > > > > events = POLLIN and fd being the return value of fuse_chan_fd(). > > > > > > > > should i expect this to work? > > > > > > > > thanks, > > > > > > > > -- p --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "macfuse-devel" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/macfuse-devel?hl=en -~----------~----~----~----~------~----~------~--~---
