3 ms·
The way out of this mess is services. You don't call the open function through some ABI, instead you send a message to a file system service through a mediator
by bjourne 4y ago
The way out of this mess is services. You don't call the open function through some ABI, instead you send a message to a file system service through a mediator and get a file handle back. On Linux, that mediator would be D-Bus, developed by the GNOME people who relatively early recognized the need for it. Possibly because everything in GNOME is written in C so they were familiar with how painful it is to interact with C libraries.
Of course, services aren't panacea and they incur large performance penalties due to the context switching. However, for non-performance critical tasks services are the future.
- IYasha 4y agoDo you realize HOW slow this stuff is? :D :D I shudder when I hear "D-Bus". ) It's a nightmare. I remember being able to destroy Ubuntu just by holding the PrintScreen key for THREE SECONDS which overloaded the DBus to the point the whole system becomes unusable. ) I would definitely NOT want to depend on that. I liked the COM/ActiveX-way, which was fast and somewhat flexible. But proprietary.
- deleted 4y ago[deleted]
- pjmlp 4y agoThe idea behind it is a key component on Apple, Microsoft and Google platforms. They seem to be doing just fine.
- anthk 4y agoFuck that crap. BSD's doesn't need any glib/dbus crapware.
- pjmlp 4y agoThat is how most APIs nowadays work across Apple, Google and Microsoft platforms. XPC, drivers, Android/Fuchsia/ChromeOS IDL, COM, WinRT
- account42 4y agoHow do you send D-Bus messages. That's right, via a C ABI. D-Bus is not about interacting with libraries, it is about inter-process communication.