diff options
Diffstat (limited to 'x11/kde4-runtime/files')
-rw-r--r-- | x11/kde4-runtime/files/patch-Processlist.c | 80 | ||||
-rw-r--r-- | x11/kde4-runtime/files/patch-TEPty.C | 83 | ||||
-rw-r--r-- | x11/kde4-runtime/files/patch-kdeeject | 12 | ||||
-rw-r--r-- | x11/kde4-runtime/files/patch-konsole_grantpty.c | 79 |
4 files changed, 9 insertions, 245 deletions
diff --git a/x11/kde4-runtime/files/patch-Processlist.c b/x11/kde4-runtime/files/patch-Processlist.c deleted file mode 100644 index 863d56e7ec72..000000000000 --- a/x11/kde4-runtime/files/patch-Processlist.c +++ /dev/null @@ -1,80 +0,0 @@ ---- ksysguard/ksysguardd/FreeBSD/ProcessList.c.old Tue Jan 23 19:44:29 2001 -+++ ksysguard/ksysguardd/FreeBSD/ProcessList.c Tue Jan 23 20:19:24 2001 -@@ -186,7 +186,20 @@ - if (sysctl(mib, 4, &p, &len, NULL, 0) == -1 || !len) - return -1; - -- /* ?? */ -+#if __FreeBSD_version >= 500015 -+ /* Getting runtime process info */ -+ ps->pid = p.ki_pid; -+ ps->ppid = p.ki_ppid; -+ strcpy(ps->name, p.ki_comm); -+ ps->uid = p.ki_uid; -+ ps->gid = p.ki_pgid; -+ -+ pwent = getpwuid(ps->uid); -+ strcpy(ps->userName, pwent ? pwent->pw_name : "????"); -+ ps->priority = p.ki_priority; -+ ps->niceLevel = p.ki_nice; -+ -+#else - ps->pid = p.kp_proc.p_pid; - ps->ppid = p.kp_eproc.e_ppid; - strcpy(ps->name, p.kp_proc.p_comm); -@@ -198,16 +211,30 @@ - strcpy(ps->userName, pwent ? pwent->pw_name : "????"); - ps->priority = p.kp_proc.p_priority; - ps->niceLevel = p.kp_proc.p_nice; -+#endif - - /* this isn't usertime -- it's total time (??) */ --#if __FreeBSD_version >= 300000 -+#if __FreeBSD_version >= 500015 -+ ps->userTime = p.ki_runtime / 10000; -+#elif __FreeBSD_version >= 300000 - ps->userTime = p.kp_proc.p_runtime / 10000; - #else - ps->userTime = p.kp_proc.p_rtime.tv_sec*100+p.kp_proc.p_rtime.tv_usec/100 - #endif -+ - ps->sysTime = 0; -- ps->userLoad = p.kp_proc.p_pctcpu / 100; - ps->sysLoad = 0; -+#if __FreeBSD_version >= 500015 -+ ps->userLoad = p.ki_pctcpu / 100; -+ -+ /* memory */ -+ ps->vmSize = p.ki_size * getpagesize(); -+ -+ ps->vmRss = p.ki_rssize * getpagesize(); -+ -+ ps->status = p.ki_stat; -+#else -+ ps->userLoad = p.kp_proc.p_pctcpu / 100; - - /* memory */ - ps->vmSize = (p.kp_eproc.e_vm.vm_tsize + -@@ -216,7 +243,7 @@ - ps->vmRss = p.kp_eproc.e_vm.vm_rssize * getpagesize(); - - ps->status = p.kp_proc.p_stat; -- -+#endif - return (0); - } - -@@ -284,8 +311,13 @@ - p = malloc(len); - sysctl(mib, 3, p, &len, NULL, 0); - -+#if __FreeBSD_version >= 500015 -+ for (num = 0; num < len / sizeof(struct kinfo_proc); num++) -+ updateProcess(p[num].ki_pid); -+#else - for (num = 0; num < len / sizeof(struct kinfo_proc); num++) - updateProcess(p[num].kp_proc.p_pid); -+#endif - - cleanupProcessList(); - diff --git a/x11/kde4-runtime/files/patch-TEPty.C b/x11/kde4-runtime/files/patch-TEPty.C index 9bfd5db25ccd..796ec243efbf 100644 --- a/x11/kde4-runtime/files/patch-TEPty.C +++ b/x11/kde4-runtime/files/patch-TEPty.C @@ -1,83 +1,6 @@ ---- konsole/src/TEPty.C.orig Fri Dec 8 11:51:24 2000 -+++ konsole/src/TEPty.C Fri Dec 8 11:52:51 2000 -@@ -180,27 +180,57 @@ - // param grant: 1 to grant, 0 to revoke - // returns 1 on success 0 on fail - { -- pid_t pid = fork(); -- if (pid < 0) -- { -- return 0; -- } -- if (pid == 0) -- { -- /* We pass the master pseudo terminal as file descriptor PTY_FILENO. */ -- if (fd != PTY_FILENO && dup2(fd, PTY_FILENO) < 0) exit(1); -- QString path = locate("exe", BASE_CHOWN); -+ pid_t pid; -+ int pstat; -+ struct sigaction ign; -+ struct sigaction intact; // interupt action -+ struct sigaction quitact; // quit action -+ sigset_t newsigblock, oldsigblock; -+ QString path; -+ -+ ign.sa_handler = SIG_IGN; -+ sigemptyset(&ign.sa_mask); -+ ign.sa_flags = 0; -+ sigaction(SIGINT, &ign, &intact); -+ sigaction(SIGQUIT, &ign, &quitact); -+ sigemptyset(&newsigblock); -+ sigaddset(&newsigblock, SIGCHLD); -+ sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); -+ -+ switch (pid = fork()) { -+ case -1: -+ return(0); -+ break; -+ case 0: // child -+ if (fd != PTY_FILENO && dup2(fd, PTY_FILENO) < 0) -+ exit(1); -+ path = locate("exe", BASE_CHOWN); -+ -+ sigaction(SIGINT, &intact, NULL); -+ sigaction(SIGQUIT, &quitact, NULL); -+ sigprocmask(SIG_SETMASK, &oldsigblock, NULL); - execle(path.ascii(), BASE_CHOWN, grant?"--grant":"--revoke", NULL, NULL); -- exit(1); // should not be reached -- } -- if (pid > 0) -- { int w; -- retry: -- int rc = waitpid (pid, &w, 0); -- if ((rc == -1) && (errno == EINTR)) -- goto retry; -- return (rc != -1 && WIFEXITED(w) && WEXITSTATUS(w) == 0); -+ exit(1); -+ break; -+ default: -+ do { -+ pid = waitpid(pid, &pstat, 0); -+ } while (pid == -1 && errno == EINTR); -+ break; - } -+ sigaction(SIGINT, &intact, NULL); -+ sigaction(SIGQUIT, &quitact, NULL); -+ sigprocmask(SIG_SETMASK, &oldsigblock, NULL); -+ -+ if (pid == -1) { -+ return 0; -+ } -+ else if (WIFEXITED(pstat) && (WEXITSTATUS(pstat) == 0)) { -+ return 1; -+ } -+ else { -+ return 0; -+ } - return 0; //dummy. - } - -@@ -225,7 +255,7 @@ +--- konsole/src/TEPty.C Sun Feb 18 10:28:28 2001 ++++ konsole/src/TEPty.C.new Fri Feb 23 02:55:58 2001 +@@ -238,7 +238,7 @@ #ifdef HAVE_UTEMPTER removeLineFromUtmp(ttynam, fd); #elif defined(USE_LOGIN) diff --git a/x11/kde4-runtime/files/patch-kdeeject b/x11/kde4-runtime/files/patch-kdeeject index 38c12b5eafbf..8a5870ad25ff 100644 --- a/x11/kde4-runtime/files/patch-kdeeject +++ b/x11/kde4-runtime/files/patch-kdeeject @@ -1,9 +1,9 @@ ---- kdesktop/kdeeject.orig Fri Dec 1 15:25:26 2000 -+++ kdesktop/kdeeject Fri Dec 1 15:25:33 2000 -@@ -8,7 +8,8 @@ - # kmessage, to show a message box in case of error. - # - if [ $# = 1 -a "$1" != "--help" ]; then +--- kdesktop/kdeeject Wed Dec 13 13:25:02 2000 ++++ kdesktop/kdeeject.new Fri Feb 23 02:59:54 2001 +@@ -11,7 +11,8 @@ + # TODO: On bsd, it should be 'cdcontrol -f $1 eject' + # Checking for stuff in the PATH is ugly with sh though. + # I guess this is the reason for making this a kde app... - if eject $1; then + dev=`echo $1 | sed -E -e 's#/dev/##' -e 's/([0-9])./\1/'` + if cdcontrol -f $dev eject; then diff --git a/x11/kde4-runtime/files/patch-konsole_grantpty.c b/x11/kde4-runtime/files/patch-konsole_grantpty.c deleted file mode 100644 index 889d15bdb592..000000000000 --- a/x11/kde4-runtime/files/patch-konsole_grantpty.c +++ /dev/null @@ -1,79 +0,0 @@ ---- konsole/src/konsole_grantpty.c.orig Sat Jun 12 07:13:31 1999 -+++ konsole/src/konsole_grantpty.c Fri Dec 8 11:54:43 2000 -@@ -31,13 +31,15 @@ - #include <string.h> - #include <sys/stat.h> - #include <unistd.h> -+#include <dirent.h> -+#include <paths.h> - - #define PTY_FILENO 3 /* keep in sync with grantpty */ - #define TTY_GROUP "tty" - - int main (int argc, char *argv[]) - { -- char* pty; -+ char* pty = NULL; - struct stat st; - struct group* p; - gid_t gid; -@@ -81,6 +83,7 @@ - - /* get slave pty name from master pty file handle in PTY_FILENO *********/ - -+#if 0 - /* Check that PTY_FILENO is a valid master pseudo terminal. */ - pty = ttyname(PTY_FILENO); /* posix */ - if (pty == NULL) -@@ -89,6 +92,42 @@ - return 1; /* FAIL */ - } - close(PTY_FILENO); -+#else -+ /* The trouble with the ifdef'd-out portion above is that ttyname() -+ ** does not work correctly when not passed a valid tty, but a pseudotty -+ ** instead. All we're doing here is finding out what the name of -+ ** the associated pty is without having to pass it in on the command line. -+ ** Nothing complex. -+ */ -+ { -+ struct stat sb; -+ struct stat dsb; -+ struct dirent *dirp; -+ static char buf[sizeof(_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -+ DIR *dp; -+ -+ pty = NULL; -+ -+ if (fstat(PTY_FILENO, &sb)) -+ return 1; /* FAIL */ -+ if ((dp = opendir(_PATH_DEV)) == NULL) -+ return 1; /* FAIL */ -+ -+ while ((dirp = readdir(dp))) { -+ if (dirp->d_fileno != sb.st_ino) -+ continue; -+ bcopy(dirp->d_name, buf + sizeof(_PATH_DEV) - 1, dirp->d_namlen+1); -+ /*fprintf(stderr, "looking at %s\n", buf);*/ -+ if (stat(buf, &dsb) || sb.st_dev != dsb.st_dev || sb.st_ino != dsb.st_ino) -+ continue; -+ pty = buf; -+ } -+ closedir(dp); -+ if (pty == NULL) -+ return 1; /* FAIL */ -+ } -+ /*fprintf(stderr, "successful at finding %s\n", pty);*/ -+#endif - - /* matches /dev/pty?? */ - if (strlen(pty) < 8 || strncmp(pty,"/dev/pty",8)) -@@ -120,6 +159,8 @@ - fprintf(stderr,"%s: cannot chmod %s.\n",argv[0],tty); perror("Reason"); - return 1; /* FAIL */ - } -+ -+ /*fprintf(stderr, "made it here\n");*/ - - return 0; /* OK */ - } |