mirror of
https://github.com/topjohnwu/Magisk
synced 2024-11-11 17:38:25 +01:00
Fix a bug causing magiskhide CLI freezing
This commit is contained in:
parent
ef40c1212e
commit
89e0be0099
@ -576,7 +576,7 @@ static bool check_data() {
|
||||
return data;
|
||||
}
|
||||
|
||||
extern int launch_magiskhide();
|
||||
extern int launch_magiskhide(int client = -1);
|
||||
|
||||
static void *start_magisk_hide(void *) {
|
||||
launch_magiskhide();
|
||||
|
@ -32,7 +32,7 @@ pthread_mutex_t list_lock;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int launch_magiskhide() {
|
||||
int launch_magiskhide(int client) {
|
||||
if (hide_enabled)
|
||||
return HIDE_IS_ENABLED;
|
||||
|
||||
@ -62,9 +62,12 @@ int launch_magiskhide() {
|
||||
|
||||
// Get thread reference
|
||||
proc_monitor_thread = pthread_self();
|
||||
if (client >= 0) {
|
||||
write_int(client, DAEMON_SUCCESS);
|
||||
close(client);
|
||||
}
|
||||
// Start monitoring
|
||||
proc_monitor();
|
||||
return DAEMON_SUCCESS;
|
||||
|
||||
error:
|
||||
hide_enabled = 0;
|
||||
@ -101,7 +104,7 @@ void magiskhide_handler(int client) {
|
||||
|
||||
switch (req) {
|
||||
case LAUNCH_MAGISKHIDE:
|
||||
res = launch_magiskhide();
|
||||
res = launch_magiskhide(client);
|
||||
break;
|
||||
case STOP_MAGISKHIDE:
|
||||
res = stop_magiskhide();
|
||||
|
@ -10,7 +10,7 @@
|
||||
#define TERM_THREAD SIGUSR1
|
||||
|
||||
// Daemon entries
|
||||
int launch_magiskhide();
|
||||
int launch_magiskhide(int client);
|
||||
int stop_magiskhide();
|
||||
int add_list(int client);
|
||||
int rm_list(int client);
|
||||
|
@ -200,4 +200,5 @@ void proc_monitor() {
|
||||
if (fork_dont_care() == 0)
|
||||
hide_daemon(pid);
|
||||
}
|
||||
pthread_exit(nullptr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user