"New backend" is a bit of an exaggeration imo. Anyway, what's necessary to know about "boxes" is in backend.h. It's really not that complicated since the user doesn't have to bother with the refcounting intricacies besides setting ref_obj (that's the whole idea with them).
I looked briefly at the shuffler code but couldn't figure out the right place to put the box. Should be the same object that holds the fd, but the callbacks were used in some clever way so it wasn't that straighforward, as I remember.
Anyway, the old interface should still work, even for multiple backends right now (although I'd like to do away with the fd-to-backend map soon). Maybe turning on POLL_DEBUG in backend.cmod will show something interesting (logs a lot, though).
/ Martin Stjernholm, Roxen IS
Previous text:
2004-06-21 12:16: Subject: Re: Drowning in the Shuffler (SEGV)
I guess I am the shuffler guru, since I wrote it. However, I don't really know how the new backend works.
As soon as I take my vacation I will try to fix some performance problems in the shuffler, and perhaps also add a new non-pike-lock stealing mode of operation for pure FD:s (the latter would however not be all that portable, unless I copy large chunks of the backend code, which is most likely not a good idea)
Most likely the only thing you have to do to get the shuffler working is to disable the b_source_normal_file.c source by returning 0 at the very start of source_normal_file_make (eg, comment out line 88)
/ Per Hedbor ()