Revert "remove spinlocks"

This reverts commit 1670c26313.
This commit is contained in:
Nick Chan committed 2024-09-23 15:50:58 +08:00
1 parent ff94a8281d
commit d9dfefadcb
6 files changed
+34 -32

No files matched your search

+6 -4
View File
@@ -107,7 +107,6 @@ int palera1n(int argc, char *argv[], char *envp[]) {
pthread_mutex_init(&spin_mutex, NULL);
pthread_mutex_init(&found_pongo_mutex, NULL);
pthread_mutex_init(&ecid_dfu_wait_mutex, NULL);
pthread_cond_init(&spin, NULL);
if ((ret = build_checks())) return ret;
if ((ret = optparse(argc, argv))) goto cleanup;
if (!(palerain_flags & palerain_option_device_info) && (palerain_flags & palerain_option_palerain_version)) goto normal_exit;
@@ -141,7 +140,7 @@ int palera1n(int argc, char *argv[], char *envp[]) {
pthread_create(&pongo_thread, NULL, pongo_helper, NULL);
pthread_create(&dfuhelper_thread, NULL, dfuhelper, NULL);
pthread_join(dfuhelper_thread, NULL);
palerain_unblock();
set_spin(0);
if ((palerain_flags & (palerain_option_dfuhelper_only |
palerain_option_reboot_device |
palerain_option_exit_recovery |
@@ -155,10 +154,14 @@ int palera1n(int argc, char *argv[], char *envp[]) {
if ((palerain_flags & (palerain_option_pongo_exit | palerain_option_demote)))
goto normal_exit;
set_spin(1);
sleep(2);
pthread_create(&pongo_thread, NULL, pongo_helper, NULL);
pthread_join(pongo_thread, NULL);
palerain_block();
while (get_spin())
{
sleep(1);
}
normal_exit:
cleanup:
if (override_kpf.magic == OVERRIDE_MAGIC) {
@@ -178,7 +181,6 @@ cleanup:
pthread_mutex_destroy(&spin_mutex);
pthread_mutex_destroy(&found_pongo_mutex);
pthread_mutex_destroy(&ecid_dfu_wait_mutex);
pthread_cond_destroy(&spin);
return ret;
}