Skip to content

Commit

Permalink
fix jemalloc cfgs lacking msvc conditions
Browse files Browse the repository at this point in the history
Signed-off-by: Jason Volk <[email protected]>
  • Loading branch information
jevolk committed Feb 2, 2025
1 parent b47e95b commit c15e40f
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/core/config/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ pub fn check(config: &Config) -> Result {
));
}

if cfg!(all(feature = "hardened_malloc", feature = "jemalloc")) {
if cfg!(all(feature = "hardened_malloc", feature = "jemalloc", not(target_env = "msvc"))) {
debug_warn!(
"hardened_malloc and jemalloc compile-time features are both enabled, this causes \
jemalloc to be used."
Expand Down
9 changes: 6 additions & 3 deletions src/database/pool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use std::{
use async_channel::{QueueStrategy, Receiver, RecvError, Sender};
use conduwuit::{
debug, debug_warn, err, error, implement,
result::{DebugInspect, LogDebugErr},
result::DebugInspect,
trace,
utils::sys::compute::{get_affinity, nth_core_available, set_affinity},
Error, Result, Server,
Expand Down Expand Up @@ -290,9 +290,12 @@ fn worker_init(&self, id: usize) {
// affinity is empty (no-op) if there's only one queue
set_affinity(affinity.clone());

#[cfg(feature = "jemalloc")]
#[cfg(all(not(target_env = "msvc"), feature = "jemalloc"))]
if affinity.clone().count() == 1 && conduwuit::alloc::je::is_affine_arena() {
use conduwuit::alloc::je::this_thread::{arena_id, set_arena};
use conduwuit::{
alloc::je::this_thread::{arena_id, set_arena},
result::LogDebugErr,
};

let id = affinity.clone().next().expect("at least one id");

Expand Down
6 changes: 3 additions & 3 deletions src/main/runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ fn set_worker_affinity() {
set_worker_mallctl(id);
}

#[cfg(feature = "jemalloc")]
#[cfg(all(not(target_env = "msvc"), feature = "jemalloc"))]
fn set_worker_mallctl(id: usize) {
use conduwuit::alloc::je::{
is_affine_arena,
Expand All @@ -143,7 +143,7 @@ fn set_worker_mallctl(id: usize) {
}
}

#[cfg(not(feature = "jemalloc"))]
#[cfg(any(not(feature = "jemalloc"), target_env = "msvc"))]
fn set_worker_mallctl(_: usize) {}

#[tracing::instrument(
Expand Down Expand Up @@ -189,7 +189,7 @@ fn thread_park() {
}

fn gc_on_park() {
#[cfg(feature = "jemalloc")]
#[cfg(all(not(target_env = "msvc"), feature = "jemalloc"))]
conduwuit::alloc::je::this_thread::decay()
.log_debug_err()
.ok();
Expand Down

0 comments on commit c15e40f

Please sign in to comment.