[sane-devel] pthreads for MacOSX (instead of child process)

Hubert Figuiere hfiguiere@teaser.fr
Fri, 14 Feb 2003 14:21:27 +0100


On samedi, f=E9v 8, 2003, at 19:41 Europe/Paris, abel deuring wrote:

[ snipped useless-and-out-of-topic rant ]

> I also had a short look into Apple's mailing list archives. The=20
> answers to a question by Beat regarding device access from forked=20
> processes seem to indicate there is really not hope. The main reason=20=

> seems to be "too complicated to implement for Mach". (BTW, the=20
> archives of older mailings are the worst organized archives I have=20
> seen since a long time. So much for the shiny surface of Apple=20
> stuff...)

[...]
> Somebody proposed to the apple mailing list to start a sort of a=20
> daemon which accesses the device. Since sockets (pipes too?) seem to=20=

> survive a fork on macos, this could indeed be a way to avoid the=20
> current fork hassles. Other ways would be to provide a non-forking=20
> version of the backend (like the Sharp and NEC backends do), or to=20
> make the backends thread-safe (should not be that much work, since the=20=

> tasks of the two processes/threads are different enough), and to=20
> expand the sanei_thread library.

I'm not really an IOKit expert, but perhaps should one write a generic=20=

device driver for USB that just create proper device entries.

I suggest emulating *BSD USB behaviour. That way, we then would need to=20=

change libusb to use *BSD code and we would have a better=20
compatibility. IOKit use as its advantage, like allowing USB access in=20=

userland, but the mach_port problem is not a simple issue.

Just a thought, I'll dig further to see what can be done (not sure I'll=20=

have the time to actually code anything)


Hub
--=20
Hubert Figui=E8re - http://www.figuiere.net/hub/
Cell-phone: +33 6 18 01 42 11 - iChat/AIM: hfiguiere
Any HTML e-mail sent to me will be discarded.