[–] 1 point 2 years ago

Yes and no. While coreutils does provide an echo binary, shells also have a built-in for optimisation purposes.

At first I had the code calling the binary directly, but then changed it to spawning a shell (and so using the builtin). It's very cursed either way.

  • source
  • parent
  • context
  • [–] 3 points 3 years ago (1 child)

    OnceLock is the wrong primitive for this. Use a Mutex or an RwLock instead? You can initialize either of them with an empty array at declaration, so you don't need the set_log function. In push_log, do a .lock().unwrap() for a mutex or .write().unwrap() for an rwlock to get mutable access to the vector.

  • source