fix deadlock on install (#2667)

* fix deadlock on install

* improve pruning script

* bump tokio
This commit is contained in:
Aiden McClelland
2024-07-11 14:55:13 -06:00
committed by GitHub
parent 87322744d4
commit 6def083b4f
20 changed files with 273 additions and 154 deletions

View File

@@ -781,7 +781,7 @@ pub struct TmpDir {
impl TmpDir {
pub async fn new() -> Result<Self, Error> {
let path = Path::new("/var/tmp/startos").join(base32::encode(
base32::Alphabet::RFC4648 { padding: false },
base32::Alphabet::Rfc4648 { padding: false },
&rand::random::<[u8; 8]>(),
));
if tokio::fs::metadata(&path).await.is_ok() {

View File

@@ -644,7 +644,7 @@ pub fn new_guid() -> InternedString {
let mut buf = [0; 20];
rand::thread_rng().fill_bytes(&mut buf);
InternedString::intern(base32::encode(
base32::Alphabet::RFC4648 { padding: false },
base32::Alphabet::Rfc4648 { padding: false },
&buf,
))
}

View File

@@ -958,7 +958,7 @@ impl<T: AsRef<[u8]>> std::fmt::Display for Base16<T> {
pub struct Base32<T>(pub T);
impl<T: AsRef<[u8]>> std::fmt::Display for Base32<T> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
base32::encode(base32::Alphabet::RFC4648 { padding: true }, self.0.as_ref()).fmt(f)
base32::encode(base32::Alphabet::Rfc4648 { padding: true }, self.0.as_ref()).fmt(f)
}
}
impl<'de, T: TryFrom<Vec<u8>>> Deserialize<'de> for Base32<T> {
@@ -967,7 +967,7 @@ impl<'de, T: TryFrom<Vec<u8>>> Deserialize<'de> for Base32<T> {
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
base32::decode(base32::Alphabet::RFC4648 { padding: true }, &s)
base32::decode(base32::Alphabet::Rfc4648 { padding: true }, &s)
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Str(&s),