Remix.run Logo
duped 3 days ago

I'm curious what design led them to split code between two shared libraries but also require the state of them to be synchronized across calls to dlopen and dlclose. It sounds like that state should be in one library and not two.

theamk 3 days ago | parent [-]

they kinda mention this - one of those is Rust, other is C++.

My guess they made an all-new Rust plugin which used an existing C++ library. Pretty common case when existing code base is slowly being converted to rust.

01HNNWZ0MV43FF 3 days ago | parent | next [-]

I guess the C++ library might be binary-only or difficult to compile but, for curious readers, you can definitely link C++ and Rust into a single binary library or exe

saurik 2 days ago | parent | prev | next [-]

But how/why is libA failing if libB has already been initialized? That's the thing which seems broken.

duped a day ago | parent | prev [-]

But why are they dynamically linking to each other?