On Sunday 14 September 2008 12:09:30 Hannu Savolainen wrote: > Yair K. wrote: > > Hi, > > > > Well, I've tried the attached patch on a "real" FreeBSD install > > (7.1-PRERELEASE), and it seems to work without introducing new issues. It > > uses the devfs_set_cdevpriv API as mentioned earlier. > > > O. The patch is in the hg server. > > > Btw, how does this work with older FreeBSD versions?
>From the patch: >+#undef VDEV_SUPPORT >+#if __FreeBSD_version >= 700111 >+#define VDEV_SUPPORT >+extern int oss_file_set_private (struct thread *p, void *v, size_t l); >+extern int oss_file_get_private (void **v); >+#endif If _FreeBSD_version doesn't match, than VDEV_SUPPORT is not defined, and the #ifdefs in os_freebsd.c will use the old code which doesn't provide the device cloning. As I mentioned in a previous message, this has the problem that a binary package compiled under old FreeBSD 7 can't be recompiled dynamically under FreeBSD 7.1 to do vmix or the reverse (i.e. If 4front distributes binary packages, it will have to use a separate one for 7.1+). VDEV_SUPPORT is used inside the core, and disentangling it so that the selection is done in the wrapper alone would probably be complicated. Yours, Yair K. _______________________________________________ oss-devel mailing list oss-devel@mailman.opensound.com http://mailman.opensound.com/mailman/listinfo/oss-devel