Hi Johan, Zitat von Johan Hedberg <johan.hedb...@gmail.com>: > On Wed, Jun 15, 2011, Johan Hedberg wrote: >> On Wed, Jun 15, 2011, Hendrik Sattler wrote: >> > @Johan: Looking at [1], what are the reasons that osso-gwobex is >> > using FdOBEX instead of BtOBEX? >> >> libopenobex is intended to be LGPL, but linking it with libbluetooth >> makes it effectively GPL. Because of this Maemo has never shipped a >> libopenobex with the Bluetooth specific parts compiled in and neither >> does MeeGo (AFAIK; I haven't actually verified this). >> >> Additionally, handling Bluetooth sockets within the application and >> passing them to FdOBEX is quite simple, and we even have GLib wrappers >> like BtIO which make using FdOBEX much more consistent with the rest of >> the BlueZ & obexd code bases than BtOBEX would ever do. > > One more very important reason: BtOBEX uses blocking sockets. This is a > complete no-no for single-threaded processes with an asynchronous > mainloop like bluetoothd or obexd.
It might surprise you but using non-blocking sockets with openobex only helps when reading data, the code using a busy-loop for writing full packets in this case! That might not be what you want. This is caused by deficiencies in the openobex state machine. Needs to be addressed at some time... BTW: you can make the BtOBEX socket non-blocking at the right moment, the openobex library (at least latest version) can handle that just fine. HS ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Openobex-users mailing list Openobex-users@lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/openobex-users