summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MobileCydia.mm17
1 files changed, 15 insertions, 2 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm
index 17b6b12..a1433db 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -5226,8 +5226,21 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
}
- (void) reloadSpringBoard {
- system("(/usr/bin/sbreload &)");
- sleep(60);
+ pid_t pid(ExecFork());
+ if (pid == 0) {
+ pid_t pid(ExecFork());
+ if (pid == 0) {
+ execl("/usr/bin/sbreload", "sbreload", NULL);
+ perror("sbreload");
+ exit(0);
+ }
+
+ exit(0);
+ }
+
+ ReapZombie(pid);
+
+ sleep(15);
system("/usr/bin/killall SpringBoard");
}