Use Bonobo for what it's good for or, don't you dare use it for what it's not good for and blame me ssize_t write ( int, const void *, size_t) void Bonobo_Stream_write ( Bonobo_Stream, const Bonobo_Stream_iobuf *, CORBA_Environment *); Similarities blocking, exceptions, easy to get wrong, potentialy slow 'local' / 'remote' API Differences can't re-enter nicer exceptions