summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/daemon/purple.c7
-rw-r--r--src/device/meson.build11
2 files changed, 13 insertions, 5 deletions
diff --git a/src/daemon/purple.c b/src/daemon/purple.c
index e004448..fc4f49f 100644
--- a/src/daemon/purple.c
+++ b/src/daemon/purple.c
@@ -156,9 +156,11 @@ static void *purple_spawn(void *disregard)
char *user = NULL;
char *password = NULL;
char *proto = NULL;
+ int cancelstate;
(void) disregard;
+ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cancelstate);
pthread_cleanup_push(pthread_mutex_unlock_thunk, &state.mutex);
progname = setting_progname();
@@ -203,8 +205,11 @@ static void *purple_spawn(void *disregard)
pthread_cleanup_push(purple_account_destroy_thunk, state.account);
- g_main_loop_run(loop);
pthread_cleanup_push(g_main_loop_quit_thunk, loop);
+ pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &cancelstate);
+ pthread_testcancel();
+
+ g_main_loop_run(loop);
pthread_cleanup_pop(1);
pthread_cleanup_pop(1);
diff --git a/src/device/meson.build b/src/device/meson.build
index 10723b0..625bd2d 100644
--- a/src/device/meson.build
+++ b/src/device/meson.build
@@ -22,15 +22,18 @@ if get_option('fwbuild')
assert((oledlib != []), 'oled lib not found in the supplied lib directory')
- espmake = find_program('espmake')
printf = find_program('printf')
cat = find_program('cat')
cp = find_program('cp')
make = find_program('make')
- nproc = find_program('nproc')
+ nproc = find_program('nproc', disabler : true)
- nproc_out = run_command(nproc)
- cpus = nproc_out.stdout().strip()
+ if nproc.found()
+ nproc_out = run_command(nproc)
+ cpus = nproc_out.stdout().strip()
+ else
+ cpus = '2'
+ endif
fw_filenames = ['main.ino',
'DejaVu_Sans_Mono_13.h',