From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 28 13:20:00 2014 Received: (at submit) by debbugs.gnu.org; 28 Jan 2014 18:20:00 +0000 Received: from localhost ([127.0.0.1]:39516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W8DGR-0007Dk-LQ for submit@debbugs.gnu.org; Tue, 28 Jan 2014 13:20:00 -0500 Received: from eggs.gnu.org ([208.118.235.92]:58100) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W8DGO-0007DT-4u for submit@debbugs.gnu.org; Tue, 28 Jan 2014 13:19:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8DGC-000658-FN for submit@debbugs.gnu.org; Tue, 28 Jan 2014 13:19:52 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,UNWANTED_LANGUAGE_BODY,UNWANTED_LANGUAGE_FREEMAIL autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48666) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8DGC-000654-Bl for submit@debbugs.gnu.org; Tue, 28 Jan 2014 13:19:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59785) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8DG3-0000FF-Th for bug-gnu-emacs@gnu.org; Tue, 28 Jan 2014 13:19:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8DFv-00063A-E4 for bug-gnu-emacs@gnu.org; Tue, 28 Jan 2014 13:19:35 -0500 Received: from mail-wg0-x234.google.com ([2a00:1450:400c:c00::234]:60460) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8DFv-000631-3n for bug-gnu-emacs@gnu.org; Tue, 28 Jan 2014 13:19:27 -0500 Received: by mail-wg0-f52.google.com with SMTP id b13so1527769wgh.7 for ; Tue, 28 Jan 2014 10:19:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=YYio/kGDbhaQ8rAnw8aM0fyh0sjPb6HfJM20Wu25v6o=; b=J5O1wYGNgXBoXrIAvEYx0qANva6wn9dDXfXvgSu8ynLitXfL4BUMAPGSIYjmw0ZyNR 8a3nNQZX80Bv6UIyLGGY4NT8o458h+KIyC44WKv3bHwor/3+kfy8cPrlO7NFkR2TMWhU BEB2IO1tKwZ0YPDXoOz/FeZJ2FkD5j0BrLKDQ+jf+OvbmUByj/pBjvjZTZeS/xD2q9KO O/2zaJU4fMZceW7SgZN7qRz9PUFRj0F3xijj8yeYXfPncSP0EkUtW6zUYZ9vOp8zq6Dk RGrdz1nlNgjQYKhJlJpe1Vl+lI5KlSHXByPnNZ8XATf+d3058sGIc3tEdiR9fe5XUfeK vEag== X-Received: by 10.194.119.168 with SMTP id kv8mr1934076wjb.41.1390933166045; Tue, 28 Jan 2014 10:19:26 -0800 (PST) Received: from poki-sona.local ([212.169.34.114]) by mx.google.com with ESMTPSA id bj3sm34533248wjb.14.2014.01.28.10.19.23 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jan 2014 10:19:24 -0800 (PST) From: Magnus Henoch To: bug-gnu-emacs@gnu.org Subject: 24.3.50; Implement system_process_attributes on Darwin Date: Tue, 28 Jan 2014 18:19:22 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --=-=-= Content-Type: text/plain Severity: wishlist Tags: patch The attached patch implements system_process_attributes on Darwin / Mac OSX, and thus makes Proced show a list of processes on such systems. The code is shared with FreeBSD, just like in list_system_processes, though the differences between the two systems are so numerous that I'm not sure if it's better this way or having a separate function for Darwin. This patch just "picks the low-hanging fruit", using the data that is available in the kinfo_proc struct in a similar format to FreeBSD's. Thus there are many things missing, in particular memory and CPU usage, and command line arguments. For the latter, you're apparently supposed to use the undocumented KERN_PROCARGS and KERN_PROCARGS2 sysctls, but I couldn't figure out how to get non-garbage from the result. I haven't verified that this code still works on FreeBSD. Regards, Magnus In GNU Emacs 24.3.50.15 (i386-apple-darwin12.5.0, NS apple-appkit-1187.40) of 2014-01-27 on poki-sona.local Repository revision: Windowing system distributor `Apple', version 10.3.1187 Configured using: `configure --with-ns --without-rsvg --without-gsettings --without-file-notification' --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/src/sysdep.c b/src/sysdep.c index 6ec8eec..78e23a0 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -3238,7 +3238,7 @@ system_process_attributes (Lisp_Object pid) return attrs; } -#elif defined __FreeBSD__ +#elif defined __FreeBSD__ || defined DARWIN_OS static struct timespec timeval_to_timespec (struct timeval t) @@ -3264,7 +3264,12 @@ system_process_attributes (Lisp_Object pid) char *ttyname; size_t len; char args[MAXPATHLEN]; + struct timeval starttime; struct timespec t, now; + struct rusage *rusage; + dev_t tdev; + uid_t uid; + gid_t gid; int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID}; struct kinfo_proc proc; @@ -3283,30 +3288,52 @@ system_process_attributes (Lisp_Object pid) GCPRO2 (attrs, decoded_comm); - attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float (proc.ki_uid)), attrs); +#ifdef DARWIN_OS + uid = proc.kp_eproc.e_ucred.cr_uid; +#else + uid = proc.ki_uid; +#endif + attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float (uid)), attrs); block_input (); - pw = getpwuid (proc.ki_uid); + pw = getpwuid (uid); unblock_input (); if (pw) attrs = Fcons (Fcons (Quser, build_string (pw->pw_name)), attrs); - attrs = Fcons (Fcons (Qegid, make_fixnum_or_float (proc.ki_svgid)), attrs); +#ifdef DARWIN_OS + gid = proc.kp_eproc.e_pcred.p_svgid; +#else + gid = proc.ki_svgid; +#endif + attrs = Fcons (Fcons (Qegid, make_fixnum_or_float (gid)), attrs); block_input (); - gr = getgrgid (proc.ki_svgid); + gr = getgrgid (gid); unblock_input (); if (gr) attrs = Fcons (Fcons (Qgroup, build_string (gr->gr_name)), attrs); +#ifdef DARWIN_OS + decoded_comm = (code_convert_string_norecord + (build_unibyte_string (proc.kp_proc.p_comm), + Vlocale_coding_system, 0)); +#else decoded_comm = (code_convert_string_norecord (build_unibyte_string (proc.ki_comm), Vlocale_coding_system, 0)); +#endif attrs = Fcons (Fcons (Qcomm, decoded_comm), attrs); { char state[2] = {'\0', '\0'}; - switch (proc.ki_stat) + char stat; +#ifdef DARWIN_OS + stat = proc.kp_proc.p_stat; +#else + stat = proc.ki_stat; +#endif + switch (stat) { case SRUN: state[0] = 'R'; @@ -3316,9 +3343,11 @@ system_process_attributes (Lisp_Object pid) state[0] = 'S'; break; +#ifdef SLOCK case SLOCK: state[0] = 'D'; break; +#endif case SZOMB: state[0] = 'Z'; @@ -3327,34 +3356,66 @@ system_process_attributes (Lisp_Object pid) case SSTOP: state[0] = 'T'; break; + +#ifdef SIDL + case SIDL: + state[0] = 'I'; + break; +#endif } attrs = Fcons (Fcons (Qstate, build_string (state)), attrs); } +#ifdef DARWIN_OS + attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.kp_eproc.e_ppid)), attrs); + attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.kp_eproc.e_pgid)), attrs); +#else attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.ki_ppid)), attrs); attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.ki_pgid)), attrs); attrs = Fcons (Fcons (Qsess, make_fixnum_or_float (proc.ki_sid)), attrs); +#endif +#ifdef DARWIN_OS + tdev = proc.kp_eproc.e_tdev; +#else + tdev = proc.ki_tdev; +#endif block_input (); - ttyname = proc.ki_tdev == NODEV ? NULL : devname (proc.ki_tdev, S_IFCHR); + ttyname = tdev == NODEV ? NULL : devname (tdev, S_IFCHR); unblock_input (); if (ttyname) attrs = Fcons (Fcons (Qtty, build_string (ttyname)), attrs); +#ifdef DARWIN_OS + attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.kp_eproc.e_tpgid)), attrs); +#else attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.ki_tpgid)), attrs); - attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (proc.ki_rusage.ru_minflt)), attrs); - attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (proc.ki_rusage.ru_majflt)), attrs); +#endif + +#ifdef DARWIN_OS + rusage = proc.kp_proc.p_ru; +#else + rusage = &proc.ki_rusage; +#endif + if (rusage) + { + attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (rusage->ru_minflt)), attrs); + attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (rusage->ru_majflt)), attrs); + + attrs = Fcons (Fcons (Qutime, make_lisp_timeval (rusage->ru_utime)), + attrs); + attrs = Fcons (Fcons (Qstime, make_lisp_timeval (rusage->ru_stime)), + attrs); + t = timespec_add (timeval_to_timespec (rusage->ru_utime), + timeval_to_timespec (rusage->ru_stime)); + attrs = Fcons (Fcons (Qtime, make_lisp_time (t)), attrs); + } +#ifndef DARWIN_OS attrs = Fcons (Fcons (Qcminflt, make_number (proc.ki_rusage_ch.ru_minflt)), attrs); attrs = Fcons (Fcons (Qcmajflt, make_number (proc.ki_rusage_ch.ru_majflt)), attrs); +#endif - attrs = Fcons (Fcons (Qutime, make_lisp_timeval (proc.ki_rusage.ru_utime)), - attrs); - attrs = Fcons (Fcons (Qstime, make_lisp_timeval (proc.ki_rusage.ru_stime)), - attrs); - t = timespec_add (timeval_to_timespec (proc.ki_rusage.ru_utime), - timeval_to_timespec (proc.ki_rusage.ru_stime)); - attrs = Fcons (Fcons (Qtime, make_lisp_time (t)), attrs); - +#ifndef DARWIN_OS attrs = Fcons (Fcons (Qcutime, make_lisp_timeval (proc.ki_rusage_ch.ru_utime)), attrs); @@ -3368,16 +3429,24 @@ system_process_attributes (Lisp_Object pid) attrs = Fcons (Fcons (Qthcount, make_fixnum_or_float (proc.ki_numthreads)), attrs); attrs = Fcons (Fcons (Qpri, make_number (proc.ki_pri.pri_native)), attrs); +#endif +#ifdef DARWIN_OS + starttime = proc.kp_proc.p_starttime; + attrs = Fcons (Fcons (Qnice, make_number (proc.kp_proc.p_nice)), attrs); +#else + starttime = proc.ki_start; attrs = Fcons (Fcons (Qnice, make_number (proc.ki_nice)), attrs); - attrs = Fcons (Fcons (Qstart, make_lisp_timeval (proc.ki_start)), attrs); attrs = Fcons (Fcons (Qvsize, make_number (proc.ki_size >> 10)), attrs); attrs = Fcons (Fcons (Qrss, make_number (proc.ki_rssize * pagesize >> 10)), attrs); +#endif + attrs = Fcons (Fcons (Qstart, make_lisp_timeval (starttime)), attrs); now = current_timespec (); - t = timespec_sub (now, timeval_to_timespec (proc.ki_start)); + t = timespec_sub (now, timeval_to_timespec (starttime)); attrs = Fcons (Fcons (Qetime, make_lisp_time (t)), attrs); +#ifndef DARWIN_OS len = sizeof fscale; if (sysctlbyname ("kern.fscale", &fscale, &len, NULL, 0) == 0) { @@ -3419,6 +3488,7 @@ system_process_attributes (Lisp_Object pid) attrs = Fcons (Fcons (Qargs, decoded_comm), attrs); } +#endif UNGCPRO; return attrs; --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 17:39:25 2015 Received: (at 16579) by debbugs.gnu.org; 16 Nov 2015 22:39:25 +0000 Received: from localhost ([127.0.0.1]:40594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZySQm-0005YV-W8 for submit@debbugs.gnu.org; Mon, 16 Nov 2015 17:39:25 -0500 Received: from mail-wm0-f48.google.com ([74.125.82.48]:33399) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZySQk-0005YM-Dp for 16579@debbugs.gnu.org; Mon, 16 Nov 2015 17:39:23 -0500 Received: by wmec201 with SMTP id c201so200569925wme.0 for <16579@debbugs.gnu.org>; Mon, 16 Nov 2015 14:39:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=G+ff7Z4SnTG1+YPPj+oJbWqzXmPZ/5cvj/ByHAN6y+0=; b=rk7hFabKDKYWO1AB2VV3NkAF/sUMtLRIlQXWgVo3eg2VaSavmqfv9+fswBjaV5hcyA u6iPIqgSqclObufRu+lSqsToWAWCCtEmwFB76yj/W6pGLh9hqKqb9JWtIlBoUbwN0Aw0 h2R2e5A+2Fxj7ncEfGgYiWz1roqwsyBWv9w46w5U7nNlov0Xc6MXecRpy2cQ/jicMeOS +NJ/KUKO5T+MNG7Nxankyu/Lfi7lO0qqCdmeFUBrs93uc9DkVAas5rWKjepkiXlAy0Xk R94oS2yQDeFcs0COr5nebk/96Cfp9HRWy5/7VYOtNBP8KBkA9B5m8C45IyUvVCvfYnJA GZrw== X-Received: by 10.194.200.134 with SMTP id js6mr37818005wjc.114.1447713561825; Mon, 16 Nov 2015 14:39:21 -0800 (PST) Received: from poki-sona-sin.local ([217.155.37.242]) by smtp.gmail.com with ESMTPSA id cv3sm35321558wjc.20.2015.11.16.14.39.20 for <16579@debbugs.gnu.org> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Nov 2015 14:39:20 -0800 (PST) From: Magnus Henoch To: 16579@debbugs.gnu.org Subject: Nicer patch Date: Mon, 16 Nov 2015 22:39:19 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16579 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; format=flowed So I had another look at this, and realised that the patch looks pretty ugly, being all interleaved with the FreeBSD code... Here's another patch, that just adds a new section for Darwin. I feel much better about it now. Any thoughts or objections? Regards, Magnus --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Implement-process-attributes-for-Darwin.patch >From 6ab30d39b18027e141000446561d7a211776c681 Mon Sep 17 00:00:00 2001 From: Magnus Henoch Date: Sun, 15 Nov 2015 02:05:00 +0000 Subject: [PATCH] Implement process-attributes for Darwin Mostly copied from the FreeBSD implementation, but it's different enough to warrant a separate preprocessor if clause. --- src/sysdep.c | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/src/sysdep.c b/src/sysdep.c index 91036f0..f2b2b16 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -3512,6 +3512,145 @@ system_process_attributes (Lisp_Object pid) return attrs; } +#elif defined DARWIN_OS + +static struct timespec +timeval_to_timespec (struct timeval t) +{ + return make_timespec (t.tv_sec, t.tv_usec * 1000); +} + +static Lisp_Object +make_lisp_timeval (struct timeval t) +{ + return make_lisp_time (timeval_to_timespec (t)); +} + +Lisp_Object +system_process_attributes (Lisp_Object pid) +{ + int proc_id; + int pagesize = getpagesize (); + unsigned long npages; + int fscale; + struct passwd *pw; + struct group *gr; + char *ttyname; + size_t len; + char args[MAXPATHLEN]; + struct timeval starttime; + struct timespec t, now; + struct rusage *rusage; + dev_t tdev; + uid_t uid; + gid_t gid; + + int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID}; + struct kinfo_proc proc; + size_t proclen = sizeof proc; + + struct gcpro gcpro1, gcpro2; + Lisp_Object attrs = Qnil; + Lisp_Object decoded_comm; + + CHECK_NUMBER_OR_FLOAT (pid); + CONS_TO_INTEGER (pid, int, proc_id); + mib[3] = proc_id; + + if (sysctl (mib, 4, &proc, &proclen, NULL, 0) != 0) + return attrs; + + GCPRO2 (attrs, decoded_comm); + + uid = proc.kp_eproc.e_ucred.cr_uid; + attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float (uid)), attrs); + + block_input (); + pw = getpwuid (uid); + unblock_input (); + if (pw) + attrs = Fcons (Fcons (Quser, build_string (pw->pw_name)), attrs); + + gid = proc.kp_eproc.e_pcred.p_svgid; + attrs = Fcons (Fcons (Qegid, make_fixnum_or_float (gid)), attrs); + + block_input (); + gr = getgrgid (gid); + unblock_input (); + if (gr) + attrs = Fcons (Fcons (Qgroup, build_string (gr->gr_name)), attrs); + + decoded_comm = (code_convert_string_norecord + (build_unibyte_string (proc.kp_proc.p_comm), + Vlocale_coding_system, 0)); + + attrs = Fcons (Fcons (Qcomm, decoded_comm), attrs); + { + char state[2] = {'\0', '\0'}; + switch (proc.kp_proc.p_stat) + { + case SRUN: + state[0] = 'R'; + break; + + case SSLEEP: + state[0] = 'S'; + break; + + case SZOMB: + state[0] = 'Z'; + break; + + case SSTOP: + state[0] = 'T'; + break; + + case SIDL: + state[0] = 'I'; + break; + } + attrs = Fcons (Fcons (Qstate, build_string (state)), attrs); + } + + attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.kp_eproc.e_ppid)), attrs); + attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.kp_eproc.e_pgid)), attrs); + + tdev = proc.kp_eproc.e_tdev; + block_input (); + ttyname = tdev == NODEV ? NULL : devname (tdev, S_IFCHR); + unblock_input (); + if (ttyname) + attrs = Fcons (Fcons (Qtty, build_string (ttyname)), attrs); + + attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.kp_eproc.e_tpgid)), attrs); + + rusage = proc.kp_proc.p_ru; + if (rusage) + { + attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (rusage->ru_minflt)), attrs); + attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (rusage->ru_majflt)), attrs); + + attrs = Fcons (Fcons (Qutime, make_lisp_timeval (rusage->ru_utime)), + attrs); + attrs = Fcons (Fcons (Qstime, make_lisp_timeval (rusage->ru_stime)), + attrs); + t = timespec_add (timeval_to_timespec (rusage->ru_utime), + timeval_to_timespec (rusage->ru_stime)); + attrs = Fcons (Fcons (Qtime, make_lisp_time (t)), attrs); + } + + starttime = proc.kp_proc.p_starttime; + attrs = Fcons (Fcons (Qnice, make_number (proc.kp_proc.p_nice)), attrs); + attrs = Fcons (Fcons (Qstart, make_lisp_timeval (starttime)), attrs); + + now = current_timespec (); + t = timespec_sub (now, timeval_to_timespec (starttime)); + attrs = Fcons (Fcons (Qetime, make_lisp_time (t)), attrs); + + UNGCPRO; + return attrs; +} + /* The WINDOWSNT implementation is in w32.c. The MSDOS implementation is in dosfns.c. */ #elif !defined (WINDOWSNT) && !defined (MSDOS) -- 2.2.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 23:07:17 2015 Received: (at 16579) by debbugs.gnu.org; 17 Nov 2015 04:07:17 +0000 Received: from localhost ([127.0.0.1]:40708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyXY4-0006px-H5 for submit@debbugs.gnu.org; Mon, 16 Nov 2015 23:07:17 -0500 Received: from mail-ig0-f170.google.com ([209.85.213.170]:33632) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyXY2-0006po-GD for 16579@debbugs.gnu.org; Mon, 16 Nov 2015 23:07:15 -0500 Received: by igvi2 with SMTP id i2so89569937igv.0 for <16579@debbugs.gnu.org>; Mon, 16 Nov 2015 20:07:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=XyvFBwT+2d9PZIMSfZoAwGx7HRnSKaIKBGCBg+5MDGg=; b=KcZDkIdcE+pnlbnJu2jnbnSr5qQO055/GkCey6SfLO8rqGNQe2WsxKLbeYKYZyMNze /otmCaHsV54nonOZXUImHHZW/kq+dh77DtDf4Mlnh9gaYIZrYNBkz05FAoO9rHaJgjx2 PsDruyxDvMW4htilT9i/BH0uL5rSRfQ5bE8rWsd3cPsn0A7vrTSimqvgzmdNlXokMZIv xPoBl/GefyG1PDCqvWIPEdwUVDBdqSSz6SEOioxKRznwtPjRJIwhF2VLW7zo2CCREc1u agJ1MUvOlwgHPPWHf94vHm90hqyLTF0l9tvZhsj0rcNok0cQ7vQ0hrMMufSi56Axd0dc T2vQ== X-Received: by 10.50.46.36 with SMTP id s4mr20436501igm.84.1447733233883; Mon, 16 Nov 2015 20:07:13 -0800 (PST) Received: from [192.168.0.3] (75-162-226-147.slkc.qwest.net. [75.162.226.147]) by smtp.gmail.com with ESMTPSA id om7sm7462903igb.21.2015.11.16.20.07.13 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Nov 2015 20:07:13 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\)) Subject: Re: bug#16579: Nicer patch From: Ivan Andrus In-Reply-To: Date: Mon, 16 Nov 2015 21:07:12 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Magnus Henoch X-Mailer: Apple Mail (2.3096.5) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16579 Cc: 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I=E2=80=99ve been using your previous patch for a while and I think it = would be great to have this feature in. I=E2=80=99m a very casual = contributor, so I can=E2=80=99t say go ahead, but I think it would be = great to have. I haven=E2=80=99t found any problems with it (though I = don=E2=80=99t use proced all that often=E2=80=94partly because it never = worked until I found this patch). -Ivan > On Nov 16, 2015, at 3:39 PM, Magnus Henoch = wrote: >=20 > So I had another look at this, and realised that the patch looks = pretty ugly, being all interleaved with the FreeBSD code... Here's = another patch, that just adds a new section for Darwin. I feel much = better about it now. >=20 > Any thoughts or objections? >=20 > Regards, > Magnus > =46rom 6ab30d39b18027e141000446561d7a211776c681 Mon Sep 17 00:00:00 = 2001 > From: Magnus Henoch > Date: Sun, 15 Nov 2015 02:05:00 +0000 > Subject: [PATCH] Implement process-attributes for Darwin >=20 > Mostly copied from the FreeBSD implementation, but it's different = enough > to warrant a separate preprocessor if clause. > --- > src/sysdep.c | 139 = +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 139 insertions(+) >=20 > diff --git a/src/sysdep.c b/src/sysdep.c > index 91036f0..f2b2b16 100644 > --- a/src/sysdep.c > +++ b/src/sysdep.c > @@ -3512,6 +3512,145 @@ system_process_attributes (Lisp_Object pid) > return attrs; > } >=20 > +#elif defined DARWIN_OS > + > +static struct timespec > +timeval_to_timespec (struct timeval t) > +{ > + return make_timespec (t.tv_sec, t.tv_usec * 1000); > +} > + > +static Lisp_Object > +make_lisp_timeval (struct timeval t) > +{ > + return make_lisp_time (timeval_to_timespec (t)); > +} > + > +Lisp_Object > +system_process_attributes (Lisp_Object pid) > +{ > + int proc_id; > + int pagesize =3D getpagesize (); > + unsigned long npages; > + int fscale; > + struct passwd *pw; > + struct group *gr; > + char *ttyname; > + size_t len; > + char args[MAXPATHLEN]; > + struct timeval starttime; > + struct timespec t, now; > + struct rusage *rusage; > + dev_t tdev; > + uid_t uid; > + gid_t gid; > + > + int mib[4] =3D {CTL_KERN, KERN_PROC, KERN_PROC_PID}; > + struct kinfo_proc proc; > + size_t proclen =3D sizeof proc; > + > + struct gcpro gcpro1, gcpro2; > + Lisp_Object attrs =3D Qnil; > + Lisp_Object decoded_comm; > + > + CHECK_NUMBER_OR_FLOAT (pid); > + CONS_TO_INTEGER (pid, int, proc_id); > + mib[3] =3D proc_id; > + > + if (sysctl (mib, 4, &proc, &proclen, NULL, 0) !=3D 0) > + return attrs; > + > + GCPRO2 (attrs, decoded_comm); > + > + uid =3D proc.kp_eproc.e_ucred.cr_uid; > + attrs =3D Fcons (Fcons (Qeuid, make_fixnum_or_float (uid)), attrs); > + > + block_input (); > + pw =3D getpwuid (uid); > + unblock_input (); > + if (pw) > + attrs =3D Fcons (Fcons (Quser, build_string (pw->pw_name)), = attrs); > + > + gid =3D proc.kp_eproc.e_pcred.p_svgid; > + attrs =3D Fcons (Fcons (Qegid, make_fixnum_or_float (gid)), attrs); > + > + block_input (); > + gr =3D getgrgid (gid); > + unblock_input (); > + if (gr) > + attrs =3D Fcons (Fcons (Qgroup, build_string (gr->gr_name)), = attrs); > + > + decoded_comm =3D (code_convert_string_norecord > + (build_unibyte_string (proc.kp_proc.p_comm), > + Vlocale_coding_system, 0)); > + > + attrs =3D Fcons (Fcons (Qcomm, decoded_comm), attrs); > + { > + char state[2] =3D {'\0', '\0'}; > + switch (proc.kp_proc.p_stat) > + { > + case SRUN: > + state[0] =3D 'R'; > + break; > + > + case SSLEEP: > + state[0] =3D 'S'; > + break; > + > + case SZOMB: > + state[0] =3D 'Z'; > + break; > + > + case SSTOP: > + state[0] =3D 'T'; > + break; > + > + case SIDL: > + state[0] =3D 'I'; > + break; > + } > + attrs =3D Fcons (Fcons (Qstate, build_string (state)), attrs); > + } > + > + attrs =3D Fcons (Fcons (Qppid, make_fixnum_or_float = (proc.kp_eproc.e_ppid)), attrs); > + attrs =3D Fcons (Fcons (Qpgrp, make_fixnum_or_float = (proc.kp_eproc.e_pgid)), attrs); > + > + tdev =3D proc.kp_eproc.e_tdev; > + block_input (); > + ttyname =3D tdev =3D=3D NODEV ? NULL : devname (tdev, S_IFCHR); > + unblock_input (); > + if (ttyname) > + attrs =3D Fcons (Fcons (Qtty, build_string (ttyname)), attrs); > + > + attrs =3D Fcons (Fcons (Qtpgid, make_fixnum_or_float = (proc.kp_eproc.e_tpgid)), attrs); > + > + rusage =3D proc.kp_proc.p_ru; > + if (rusage) > + { > + attrs =3D Fcons (Fcons (Qminflt, make_fixnum_or_float = (rusage->ru_minflt)), attrs); > + attrs =3D Fcons (Fcons (Qmajflt, make_fixnum_or_float = (rusage->ru_majflt)), attrs); > + > + attrs =3D Fcons (Fcons (Qutime, make_lisp_timeval = (rusage->ru_utime)), > + attrs); > + attrs =3D Fcons (Fcons (Qstime, make_lisp_timeval = (rusage->ru_stime)), > + attrs); > + t =3D timespec_add (timeval_to_timespec (rusage->ru_utime), > + timeval_to_timespec (rusage->ru_stime)); > + attrs =3D Fcons (Fcons (Qtime, make_lisp_time (t)), attrs); > + } > + > + starttime =3D proc.kp_proc.p_starttime; > + attrs =3D Fcons (Fcons (Qnice, make_number (proc.kp_proc.p_nice)), = attrs); > + attrs =3D Fcons (Fcons (Qstart, make_lisp_timeval (starttime)), = attrs); > + > + now =3D current_timespec (); > + t =3D timespec_sub (now, timeval_to_timespec (starttime)); > + attrs =3D Fcons (Fcons (Qetime, make_lisp_time (t)), attrs); > + > + UNGCPRO; > + return attrs; > +} > + > /* The WINDOWSNT implementation is in w32.c. > The MSDOS implementation is in dosfns.c. */ > #elif !defined (WINDOWSNT) && !defined (MSDOS) > --=20 > 2.2.1 >=20 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 23 22:30:07 2016 Received: (at 16579) by debbugs.gnu.org; 24 Feb 2016 03:30:07 +0000 Received: from localhost ([127.0.0.1]:42016 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQ9P-0006Ix-6z for submit@debbugs.gnu.org; Tue, 23 Feb 2016 22:30:07 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:42000) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQ9N-0006EQ-TA for 16579@debbugs.gnu.org; Tue, 23 Feb 2016 22:30:06 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aYQ8w-0007Aa-Tz; Wed, 24 Feb 2016 04:29:39 +0100 From: Lars Ingebrigtsen To: Magnus Henoch Subject: Re: bug#16579: 24.3.50; Implement system_process_attributes on Darwin References: Date: Wed, 24 Feb 2016 14:29:34 +1100 In-Reply-To: (Magnus Henoch's message of "Tue, 28 Jan 2014 18:19:22 +0000") Message-ID: <87vb5elra9.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aYQ8w-0007Aa-Tz X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1456889382.15456@cW/lLHI2M3REmQ8bSa4k/A X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 16579 Cc: 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Magnus Henoch writes: > The attached patch implements system_process_attributes on Darwin / Mac > OSX, and thus makes Proced show a list of processes on such systems. [...] > So I had another look at this, and realised that the patch looks > pretty ugly, being all interleaved with the FreeBSD code... Here's > another patch, that just adds a new section for Darwin. I feel much > better about it now. > > Any thoughts or objections? It looks fine to me, and that sounds like useful functionality, but I don't have access to any Darwin systems, so I can't even compile it. Could somebody try applying it and see whether it (still) works? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 22 19:16:02 2016 Received: (at 16579) by debbugs.gnu.org; 22 Apr 2016 23:16:02 +0000 Received: from localhost ([127.0.0.1]:43479 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atkIs-0005QT-2M for submit@debbugs.gnu.org; Fri, 22 Apr 2016 19:16:02 -0400 Received: from purcellpeople.com ([85.214.32.38]:56456 helo=h1189701.stratoserver.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atkIr-0005QB-3B for 16579@debbugs.gnu.org; Fri, 22 Apr 2016 19:16:01 -0400 Received: from Mandala.local (unknown [210.54.38.21]) by h1189701.stratoserver.net (Postfix) with ESMTPSA id E5E5D27AC0B5; Sat, 23 Apr 2016 01:15:49 +0200 (CEST) From: Steve Purcell To: Lars Ingebrigtsen Subject: Re: bug#16579: 24.3.50; Implement system_process_attributes on Darwin References: <87vb5elra9.fsf@gnus.org> Date: Sat, 23 Apr 2016 11:15:41 +1200 In-Reply-To: <87vb5elra9.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 24 Feb 2016 14:29:34 +1100") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 16579 Cc: Magnus Henoch , 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) I'm on OS X 10.11.4, and the patch applies cleanly for me but doesn't compile: CC sysdep.o sysdep.c:3607:16: error: variable has incomplete type 'struct gcpro' struct gcpro gcpro1, gcpro2; ^ sysdep.c:3607:10: note: forward declaration of 'struct gcpro' struct gcpro gcpro1, gcpro2; ^ sysdep.c:3607:24: error: variable has incomplete type 'struct gcpro' struct gcpro gcpro1, gcpro2; ^ sysdep.c:3607:10: note: forward declaration of 'struct gcpro' struct gcpro gcpro1, gcpro2; ^ sysdep.c:3618:3: warning: implicit declaration of function 'GCPRO2' is invalid in C99 [-Wimplicit-function-declaration] GCPRO2 (attrs, decoded_comm); ^ sysdep.c:3705:3: error: use of undeclared identifier 'UNGCPRO' UNGCPRO; ^ 1 warning and 3 errors generated. make[2]: *** [sysdep.o] Error 1 make[1]: *** [src] Error 2 make: *** [bootstrap] Error 2 From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 22 20:53:29 2016 Received: (at 16579) by debbugs.gnu.org; 23 Apr 2016 00:53:29 +0000 Received: from localhost ([127.0.0.1]:43509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atlpB-0007d1-IJ for submit@debbugs.gnu.org; Fri, 22 Apr 2016 20:53:29 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:34423) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atlpA-0007co-3M for 16579@debbugs.gnu.org; Fri, 22 Apr 2016 20:53:28 -0400 Received: by mail-wm0-f66.google.com with SMTP id n3so8803900wmn.1 for <16579@debbugs.gnu.org>; Fri, 22 Apr 2016 17:53:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:in-reply-to:message-id:mime-version; bh=oxvw86ziHOouYJ1G1d5Ji/ZF+uMTzgMoJRclspjXL3M=; b=A60GGwhu8V6pNxlsJKALsnfesQqJvI/7nHj7Tg9rpzbaT/WmoPCtH/EJwdV5BxItf9 RqPlT1akOJ7FqSZquTToM6S4p3t3vj8TyaARlYtDMmDA33ryQof6G+XJzG7zUIzuKAxr rGHnx0ZCS+OmEhjV1b3y6M8EDER19A1upFf2W0ZHJdTdE+FdPMHFYRNzeBoA+PkD2m6Y jH/07DYjr+xRP/kmDqoJSM+FN9PCAVdohmOxzE4iPdGqU+uObP4LKsHMOGAqLBAHjp/N DDfbOBOTJ1TMo9lJRwrm3rUnYkPQGKkjAROOlOKwQTJ2eJs247H6zoqOqiQKuly0Htr3 DOWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:in-reply-to:message-id :mime-version; bh=oxvw86ziHOouYJ1G1d5Ji/ZF+uMTzgMoJRclspjXL3M=; b=EQDDnQ6Lvbr41r1TiaEkqhziWIMauuCexOjvFPnPZrmNmzwu1JYTyi58tly1pFZgU4 Mt+mAh+FgmaHIXLAIU4wJJfQQgdhodKFTPR0vBjps7bz6Qr3AbVEBuWURhO8ONB9n4YO ATxaZOOC0wbYkd7NzwnkFmdjmoRWrczhv6D0YmSyt7bLml4TrWCIqoiEMVpXqBIHdpw1 gho5+Jj6s9mRXZg0nOy/++JH2GYsvvhuq+ViUrImeZOaKhvhkUxrfOTT76wNg2fliVX7 xWdjFOcpDlPVGhIrxq3J+gE7KBzoyFHlr+w8ioAeev/ruT40DDf4+aCZ2xB3mXINOLRQ Vugg== X-Gm-Message-State: AOPr4FWuJS583X7YIjaMBw2DqyUBC8AsW9VOQeG1DVdBHyMZzDDkeSgxQ2ooRMWyVAIgkw== X-Received: by 10.194.60.134 with SMTP id h6mr23028905wjr.115.1461372802379; Fri, 22 Apr 2016 17:53:22 -0700 (PDT) Received: from poki-sona-sin.local ([176.52.163.106]) by smtp.gmail.com with ESMTPSA id e12sm5795729wma.15.2016.04.22.17.53.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Apr 2016 17:53:21 -0700 (PDT) From: Magnus Henoch To: Steve Purcell Subject: Re: bug#16579: 24.3.50; Implement system_process_attributes on Darwin Date: Sat, 23 Apr 2016 01:53:18 +0100 In-Reply-To: Steve Purcell's message of "Sat\, 23 Apr 2016 11\:15\:41 +1200 \(1 hour\, 34 minutes\, 33 seconds ago\)" Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16579 Cc: Lars Ingebrigtsen , Magnus Henoch , 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; format=flowed Steve Purcell writes: > I'm on OS X 10.11.4, and the patch applies cleanly for me but > doesn't compile: > > CC sysdep.o > sysdep.c:3607:16: error: variable has incomplete type 'struct > gcpro' > struct gcpro gcpro1, gcpro2; Right, here's a new version, without the gcpro stuff. If I understand correctly, those things were removed since I wrote the first version of the patch, and are not necessary any more. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Implement-process-attributes-for-Darwin.patch >From 0bc6119d618bcfec99ab3ef16739472f8628abe4 Mon Sep 17 00:00:00 2001 From: Magnus Henoch Date: Sun, 15 Nov 2015 02:05:00 +0000 Subject: [PATCH] Implement process-attributes for Darwin Mostly copied from the FreeBSD implementation, but it's different enough to warrant a separate preprocessor if clause. --- src/sysdep.c | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/src/sysdep.c b/src/sysdep.c index 3faa696..50e0b01 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -3567,6 +3567,141 @@ system_process_attributes (Lisp_Object pid) return attrs; } +#elif defined DARWIN_OS + +static struct timespec +timeval_to_timespec (struct timeval t) +{ + return make_timespec (t.tv_sec, t.tv_usec * 1000); +} + +static Lisp_Object +make_lisp_timeval (struct timeval t) +{ + return make_lisp_time (timeval_to_timespec (t)); +} + +Lisp_Object +system_process_attributes (Lisp_Object pid) +{ + int proc_id; + int pagesize = getpagesize (); + unsigned long npages; + int fscale; + struct passwd *pw; + struct group *gr; + char *ttyname; + size_t len; + char args[MAXPATHLEN]; + struct timeval starttime; + struct timespec t, now; + struct rusage *rusage; + dev_t tdev; + uid_t uid; + gid_t gid; + + int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID}; + struct kinfo_proc proc; + size_t proclen = sizeof proc; + + Lisp_Object attrs = Qnil; + Lisp_Object decoded_comm; + + CHECK_NUMBER_OR_FLOAT (pid); + CONS_TO_INTEGER (pid, int, proc_id); + mib[3] = proc_id; + + if (sysctl (mib, 4, &proc, &proclen, NULL, 0) != 0) + return attrs; + + uid = proc.kp_eproc.e_ucred.cr_uid; + attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float (uid)), attrs); + + block_input (); + pw = getpwuid (uid); + unblock_input (); + if (pw) + attrs = Fcons (Fcons (Quser, build_string (pw->pw_name)), attrs); + + gid = proc.kp_eproc.e_pcred.p_svgid; + attrs = Fcons (Fcons (Qegid, make_fixnum_or_float (gid)), attrs); + + block_input (); + gr = getgrgid (gid); + unblock_input (); + if (gr) + attrs = Fcons (Fcons (Qgroup, build_string (gr->gr_name)), attrs); + + decoded_comm = (code_convert_string_norecord + (build_unibyte_string (proc.kp_proc.p_comm), + Vlocale_coding_system, 0)); + + attrs = Fcons (Fcons (Qcomm, decoded_comm), attrs); + { + char state[2] = {'\0', '\0'}; + switch (proc.kp_proc.p_stat) + { + case SRUN: + state[0] = 'R'; + break; + + case SSLEEP: + state[0] = 'S'; + break; + + case SZOMB: + state[0] = 'Z'; + break; + + case SSTOP: + state[0] = 'T'; + break; + + case SIDL: + state[0] = 'I'; + break; + } + attrs = Fcons (Fcons (Qstate, build_string (state)), attrs); + } + + attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.kp_eproc.e_ppid)), attrs); + attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.kp_eproc.e_pgid)), attrs); + + tdev = proc.kp_eproc.e_tdev; + block_input (); + ttyname = tdev == NODEV ? NULL : devname (tdev, S_IFCHR); + unblock_input (); + if (ttyname) + attrs = Fcons (Fcons (Qtty, build_string (ttyname)), attrs); + + attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.kp_eproc.e_tpgid)), attrs); + + rusage = proc.kp_proc.p_ru; + if (rusage) + { + attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (rusage->ru_minflt)), attrs); + attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (rusage->ru_majflt)), attrs); + + attrs = Fcons (Fcons (Qutime, make_lisp_timeval (rusage->ru_utime)), + attrs); + attrs = Fcons (Fcons (Qstime, make_lisp_timeval (rusage->ru_stime)), + attrs); + t = timespec_add (timeval_to_timespec (rusage->ru_utime), + timeval_to_timespec (rusage->ru_stime)); + attrs = Fcons (Fcons (Qtime, make_lisp_time (t)), attrs); + } + + starttime = proc.kp_proc.p_starttime; + attrs = Fcons (Fcons (Qnice, make_number (proc.kp_proc.p_nice)), attrs); + attrs = Fcons (Fcons (Qstart, make_lisp_timeval (starttime)), attrs); + + now = current_timespec (); + t = timespec_sub (now, timeval_to_timespec (starttime)); + attrs = Fcons (Fcons (Qetime, make_lisp_time (t)), attrs); + + return attrs; +} + /* The WINDOWSNT implementation is in w32.c. The MSDOS implementation is in dosfns.c. */ #elif !defined (WINDOWSNT) && !defined (MSDOS) -- 2.8.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 22 23:05:50 2016 Received: (at 16579) by debbugs.gnu.org; 23 Apr 2016 03:05:50 +0000 Received: from localhost ([127.0.0.1]:43530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atntG-0002FT-Ak for submit@debbugs.gnu.org; Fri, 22 Apr 2016 23:05:50 -0400 Received: from purcellpeople.com ([85.214.32.38]:36896 helo=h1189701.stratoserver.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atntE-0002FG-Hu for 16579@debbugs.gnu.org; Fri, 22 Apr 2016 23:05:49 -0400 Received: from [192.168.0.10] (unknown [210.54.38.21]) by h1189701.stratoserver.net (Postfix) with ESMTPSA id 0C16027AC0B2; Sat, 23 Apr 2016 05:05:38 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: bug#16579: 24.3.50; Implement system_process_attributes on Darwin From: Steve Purcell In-Reply-To: Date: Sat, 23 Apr 2016 15:05:35 +1200 Content-Transfer-Encoding: quoted-printable Message-Id: <3AA1DBEE-D7F2-4ABE-8089-2C2528660A4E@sanityinc.com> References: To: Magnus Henoch X-Mailer: Apple Mail (2.3124) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 16579 Cc: Lars Ingebrigtsen , 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Just tried that revised patch and it works great for me! Would be great = if this could be merged.= From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 24 08:33:23 2016 Received: (at 16579) by debbugs.gnu.org; 24 Apr 2016 12:33:23 +0000 Received: from localhost ([127.0.0.1]:44566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1auJE3-0006sz-Cz for submit@debbugs.gnu.org; Sun, 24 Apr 2016 08:33:23 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:38007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1auJE1-0006sr-V1 for 16579@debbugs.gnu.org; Sun, 24 Apr 2016 08:33:22 -0400 Received: from cm-84.215.1.64.getinternet.no ([84.215.1.64] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.84_2) (envelope-from ) id 1auJDz-00036D-4r; Sun, 24 Apr 2016 14:33:21 +0200 From: Lars Magne Ingebrigtsen To: Steve Purcell Subject: Re: bug#16579: 24.3.50; Implement system_process_attributes on Darwin References: <3AA1DBEE-D7F2-4ABE-8089-2C2528660A4E@sanityinc.com> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAADFBMVEV2RUvw7svZxLGziIXU l2pmAAACe0lEQVQokQFwAo/9ADpA7//D/Nab/Pv1cACouPp6n19VrcOyJWAAvzv5czVaXO9T8p5b AL3+Ypn1WV80rP9xUACxMU8Y5XLmhLYPsvMAoNP8OysANvSuJ7jAAKqgKOoKcDTXCla4MwC6CrTk Aaa1VeQ15DMA/w6V/CFXdu65yvsNAFVf1qeZVpcAmsWqrwCWUPVq9tgnN9VN+UAAq/JZflyp5STJ j9nYACsAla5xPfWA+TSpVwAJuWCljbn9W20gfmUAqzjWAY1aXp9eP42dACcPVqGA2U1RLiH6UQD2 59rcrJd2/CcdvvAA1cO3WywsPlj8vaczAHU+8Va5sAHP4AoPzQD+ms2oqgJvO9ZV/skAMwJr/iVV VUvVdb11APfc7yc1llVNtW9WvAD2poCsNrvtcr+WWD0A1WVsJ9ZVVVv46bCOAOvrDVnW/65c1iky RgD5jAJrNVVVclYP+b4A08vf7J5al1oNT1VVAIQr3AOlcDrPIU1qWwDKY63e6c2hANpMDVMAuiV1 esp+H3lrsM7SAO4Vz7sqzzRTA1WFMwAC5Rb/F8U4A6wN9cAAApUAqyWwHzN5o4+/AF+lzlf1m5oL wlyz6gDXpalV6ZbWwytbA9YANZYDWfVc1Y3FVNyrAME1gVsBcCVAK5yw7gCRRvBaX3TFeZYfvesA z4bwVt9Uuc6/L4AAAO81YA5iWKUz+wOXPgD4z7Bjv/7PDgilzQMAw2w38P2p70qzVtV/AIFfk1wJ f+fNS5VbvwC9XA/fPnJmxbn+br0A9V/A3uXed/O/gIq9AMCS4+Q1u0KXwPwKfgA1LYDojn/wMqyb tzwAJRysN/JQPMDzWXSqHLEywBO9pycAAAAASUVORK5CYII= Date: Sun, 24 Apr 2016 14:33:18 +0200 In-Reply-To: <3AA1DBEE-D7F2-4ABE-8089-2C2528660A4E@sanityinc.com> (Steve Purcell's message of "Sat, 23 Apr 2016 15:05:35 +1200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 16579 Cc: Magnus Henoch , 16579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Steve Purcell writes: > Just tried that revised patch and it works great for me! Would be > great if this could be merged. Ok; applied to the trunk. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 24 08:33:33 2016 Received: (at control) by debbugs.gnu.org; 24 Apr 2016 12:33:33 +0000 Received: from localhost ([127.0.0.1]:44569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1auJED-0006tR-Jo for submit@debbugs.gnu.org; Sun, 24 Apr 2016 08:33:33 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:38015) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1auJEB-0006tJ-Ph for control@debbugs.gnu.org; Sun, 24 Apr 2016 08:33:32 -0400 Received: from cm-84.215.1.64.getinternet.no ([84.215.1.64] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.84_2) (envelope-from ) id 1auJE9-00036N-KK for control@debbugs.gnu.org; Sun, 24 Apr 2016 14:33:31 +0200 Date: Sun, 24 Apr 2016 14:33:29 +0200 Message-Id: To: control@debbugs.gnu.org From: Lars Magne Ingebrigtsen Subject: control message for bug #16579 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 16579 fixed close 16579 25.2 From unknown Thu Jun 19 14:15:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 23 May 2016 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 03 21:49:42 2016 Received: (at control) by debbugs.gnu.org; 4 Dec 2016 02:49:42 +0000 Received: from localhost ([127.0.0.1]:51761 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cDMs2-0004Js-AJ for submit@debbugs.gnu.org; Sat, 03 Dec 2016 21:49:42 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56131) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cDMrz-0004JW-G1 for control@debbugs.gnu.org; Sat, 03 Dec 2016 21:49:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cDMrs-0001yx-95 for control@debbugs.gnu.org; Sat, 03 Dec 2016 21:49:34 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53276) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cDMrs-0001yr-52 for control@debbugs.gnu.org; Sat, 03 Dec 2016 21:49:32 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1cDMrr-0005b2-Kh; Sat, 03 Dec 2016 21:49:31 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <22595.33851.293095.70553@gnu.org> Date: Sat, 3 Dec 2016 21:49:31 -0500 From: Glenn Morris To: control@debbugs.gnu.org Subject: Clean up predictable issues due to Emacs version number change X-Debbugs-No-Ack: yes X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -7.9 (-------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.9 (-------) # Ref: # http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00238.html # http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00692.html # http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01215.html # Some attempt has been made to check for things backported after the fact. # Erring on the side of a later version number seems preferable anyway. unarchive 10 fixed 10 26.1 notfixed 10 25.2 unarchive 96 fixed 96 26.1 notfixed 96 25.2 unarchive 1149 fixed 1149 26.1 notfixed 1149 25.2 unarchive 1150 fixed 1150 26.1 notfixed 1150 25.2 unarchive 2270 fixed 2270 26.1 notfixed 2270 25.2 unarchive 2405 fixed 2405 26.1 notfixed 2405 25.2 unarchive 2589 fixed 2589 26.1 notfixed 2589 25.2 unarchive 3137 fixed 3137 26.1 notfixed 3137 25.2 unarchive 3393 fixed 3393 26.1 notfixed 3393 25.2 unarchive 4589 fixed 4589 26.1 notfixed 4589 25.2 unarchive 4920 fixed 4920 26.1 notfixed 4920 25.2 unarchive 5001 fixed 5001 26.1 notfixed 5001 25.2 unarchive 5262 fixed 5262 26.1 notfixed 5262 25.2 unarchive 5305 fixed 5305 26.1 notfixed 5305 25.2 unarchive 5314 fixed 5314 26.1 notfixed 5314 25.2 unarchive 5479 fixed 5479 26.1 notfixed 5479 25.2 unarchive 5650 fixed 5650 26.1 notfixed 5650 25.2 unarchive 5661 fixed 5661 26.1 notfixed 5661 25.2 unarchive 5727 fixed 5727 26.1 notfixed 5727 25.2 unarchive 6817 fixed 6817 26.1 notfixed 6817 25.2 unarchive 7385 fixed 7385 26.1 notfixed 7385 25.2 unarchive 7522 fixed 7522 26.1 notfixed 7522 25.2 unarchive 7751 fixed 7751 26.1 notfixed 7751 25.2 unarchive 8634 fixed 8634 26.1 notfixed 8634 25.2 unarchive 8693 fixed 8693 26.1 notfixed 8693 25.2 unarchive 8925 fixed 8925 26.1 notfixed 8925 25.2 unarchive 9342 fixed 9342 26.1 notfixed 9342 25.2 unarchive 9730 fixed 9730 26.1 notfixed 9730 25.2 unarchive 10487 fixed 10487 26.1 notfixed 10487 25.2 unarchive 10540 fixed 10540 26.1 notfixed 10540 25.2 unarchive 10723 fixed 10723 26.1 notfixed 10723 25.2 unarchive 10794 fixed 10794 26.1 notfixed 10794 25.2 unarchive 10980 fixed 10980 26.1 notfixed 10980 25.2 unarchive 11357 fixed 11357 26.1 notfixed 11357 25.2 unarchive 11400 fixed 11400 26.1 notfixed 11400 25.2 unarchive 11788 fixed 11788 26.1 notfixed 11788 25.2 unarchive 12048 fixed 12048 26.1 notfixed 12048 25.2 unarchive 12377 fixed 12377 26.1 notfixed 12377 25.2 unarchive 12378 fixed 12378 26.1 notfixed 12378 25.2 unarchive 12636 fixed 12636 26.1 notfixed 12636 25.2 unarchive 12939 fixed 12939 26.1 notfixed 12939 25.2 unarchive 13269 fixed 13269 26.1 notfixed 13269 25.2 unarchive 13571 fixed 13571 26.1 notfixed 13571 25.2 unarchive 13745 fixed 13745 26.1 notfixed 13745 25.2 unarchive 13949 fixed 13949 26.1 notfixed 13949 25.2 unarchive 14256 fixed 14256 26.1 notfixed 14256 25.2 unarchive 14341 fixed 14341 26.1 notfixed 14341 25.2 unarchive 14484 fixed 14484 26.1 notfixed 14484 25.2 unarchive 14554 fixed 14554 26.1 notfixed 14554 25.2 unarchive 14577 fixed 14577 26.1 notfixed 14577 25.2 unarchive 14687 fixed 14687 26.1 notfixed 14687 25.2 unarchive 14844 fixed 14844 26.1 notfixed 14844 25.2 unarchive 14854 fixed 14854 26.1 notfixed 14854 25.2 unarchive 14915 fixed 14915 26.1 notfixed 14915 25.2 unarchive 14919 fixed 14919 26.1 notfixed 14919 25.2 unarchive 15021 fixed 15021 26.1 notfixed 15021 25.2 unarchive 15047 fixed 15047 26.1 notfixed 15047 25.2 unarchive 15171 fixed 15171 26.1 notfixed 15171 25.2 unarchive 15324 fixed 15324 26.1 notfixed 15324 25.2 unarchive 15445 fixed 15445 26.1 notfixed 15445 25.2 unarchive 15506 fixed 15506 26.1 notfixed 15506 25.2 unarchive 15909 fixed 15909 26.1 notfixed 15909 25.2 unarchive 16136 fixed 16136 26.1 notfixed 16136 25.2 unarchive 16200 fixed 16200 26.1 notfixed 16200 25.2 unarchive 16276 fixed 16276 26.1 notfixed 16276 25.2 unarchive 16294 fixed 16294 26.1 notfixed 16294 25.2 unarchive 16345 fixed 16345 26.1 notfixed 16345 25.2 unarchive 16390 fixed 16390 26.1 notfixed 16390 25.2 unarchive 16406 fixed 16406 26.1 notfixed 16406 25.2 unarchive 16483 fixed 16483 26.1 notfixed 16483 25.2 unarchive 16513 fixed 16513 26.1 notfixed 16513 25.2 unarchive 16579 fixed 16579 26.1 notfixed 16579 25.2 unarchive 16746 fixed 16746 26.1 notfixed 16746 25.2 unarchive 16891 fixed 16891 26.1 notfixed 16891 25.2 unarchive 16904 fixed 16904 26.1 notfixed 16904 25.2 unarchive 17039 fixed 17039 26.1 notfixed 17039 25.2 unarchive 17067 fixed 17067 26.1 notfixed 17067 25.2 unarchive 17119 fixed 17119 26.1 notfixed 17119 25.2 unarchive 17582 fixed 17582 26.1 notfixed 17582 25.2 unarchive 17707 fixed 17707 26.1 notfixed 17707 25.2 unarchive 17716 fixed 17716 26.1 notfixed 17716 25.2 unarchive 17738 fixed 17738 26.1 notfixed 17738 25.2 unarchive 17989 fixed 17989 26.1 notfixed 17989 25.2 unarchive 17999 fixed 17999 26.1 notfixed 17999 25.2 unarchive 18008 fixed 18008 26.1 notfixed 18008 25.2 unarchive 18024 fixed 18024 26.1 notfixed 18024 25.2 unarchive 18026 fixed 18026 26.1 notfixed 18026 25.2 unarchive 18028 fixed 18028 26.1 notfixed 18028 25.2 unarchive 18089 fixed 18089 26.1 notfixed 18089 25.2 unarchive 18092 fixed 18092 26.1 notfixed 18092 25.2 unarchive 18110 fixed 18110 26.1 notfixed 18110 25.2 unarchive 18202 fixed 18202 26.1 notfixed 18202 25.2 unarchive 18203 fixed 18203 26.1 notfixed 18203 25.2 unarchive 18204 fixed 18204 26.1 notfixed 18204 25.2 unarchive 18211 fixed 18211 26.1 notfixed 18211 25.2 unarchive 18279 fixed 18279 26.1 notfixed 18279 25.2 unarchive 18527 fixed 18527 26.1 notfixed 18527 25.2 unarchive 18587 fixed 18587 26.1 notfixed 18587 25.2 unarchive 18634 fixed 18634 26.1 notfixed 18634 25.2 unarchive 18635 fixed 18635 26.1 notfixed 18635 25.2 unarchive 18686 fixed 18686 26.1 notfixed 18686 25.2 unarchive 18692 fixed 18692 26.1 notfixed 18692 25.2 unarchive 18809 fixed 18809 26.1 notfixed 18809 25.2 unarchive 18810 fixed 18810 26.1 notfixed 18810 25.2 unarchive 18829 fixed 18829 26.1 notfixed 18829 25.2 unarchive 19114 fixed 19114 26.1 notfixed 19114 25.2 unarchive 19152 fixed 19152 26.1 notfixed 19152 25.2 unarchive 19209 fixed 19209 26.1 notfixed 19209 25.2 unarchive 19214 fixed 19214 26.1 notfixed 19214 25.2 unarchive 19215 fixed 19215 26.1 notfixed 19215 25.2 unarchive 19255 fixed 19255 26.1 notfixed 19255 25.2 unarchive 19368 fixed 19368 26.1 notfixed 19368 25.2 unarchive 19424 fixed 19424 26.1 notfixed 19424 25.2 unarchive 19497 fixed 19497 26.1 notfixed 19497 25.2 unarchive 19587 fixed 19587 26.1 notfixed 19587 25.2 unarchive 19638 fixed 19638 26.1 notfixed 19638 25.2 unarchive 19722 fixed 19722 26.1 notfixed 19722 25.2 unarchive 19754 fixed 19754 26.1 notfixed 19754 25.2 unarchive 19801 fixed 19801 26.1 notfixed 19801 25.2 unarchive 19851 fixed 19851 26.1 notfixed 19851 25.2 unarchive 20038 fixed 20038 26.1 notfixed 20038 25.2 unarchive 20158 fixed 20158 26.1 notfixed 20158 25.2 unarchive 20181 fixed 20181 26.1 notfixed 20181 25.2 unarchive 20304 fixed 20304 26.1 notfixed 20304 25.2 unarchive 20408 fixed 20408 26.1 notfixed 20408 25.2 unarchive 20460 fixed 20460 26.1 notfixed 20460 25.2 unarchive 20485 fixed 20485 26.1 notfixed 20485 25.2 unarchive 20520 fixed 20520 26.1 notfixed 20520 25.2 unarchive 20654 fixed 20654 26.1 notfixed 20654 25.2 unarchive 20702 fixed 20702 26.1 notfixed 20702 25.2 unarchive 20724 fixed 20724 26.1 notfixed 20724 25.2 unarchive 20878 fixed 20878 26.1 notfixed 20878 25.2 unarchive 21002 fixed 21002 26.1 notfixed 21002 25.2 unarchive 21014 fixed 21014 26.1 notfixed 21014 25.2 unarchive 21024 fixed 21024 26.1 notfixed 21024 25.2 unarchive 21155 fixed 21155 26.1 notfixed 21155 25.2 unarchive 21169 fixed 21169 26.1 notfixed 21169 25.2 unarchive 21171 fixed 21171 26.1 notfixed 21171 25.2 unarchive 21225 fixed 21225 26.1 notfixed 21225 25.2 unarchive 21231 fixed 21231 26.1 notfixed 21231 25.2 unarchive 21252 fixed 21252 26.1 notfixed 21252 25.2 unarchive 21269 fixed 21269 26.1 notfixed 21269 25.2 unarchive 21359 fixed 21359 26.1 notfixed 21359 25.2 unarchive 21427 fixed 21427 26.1 notfixed 21427 25.2 unarchive 21552 fixed 21552 26.1 notfixed 21552 25.2 unarchive 21576 fixed 21576 26.1 notfixed 21576 25.2 unarchive 21577 fixed 21577 26.1 notfixed 21577 25.2 unarchive 21601 fixed 21601 26.1 notfixed 21601 25.2 unarchive 21678 fixed 21678 26.1 notfixed 21678 25.2 unarchive 21679 fixed 21679 26.1 notfixed 21679 25.2 unarchive 21684 fixed 21684 26.1 notfixed 21684 25.2 unarchive 21706 fixed 21706 26.1 notfixed 21706 25.2 unarchive 21759 fixed 21759 26.1 notfixed 21759 25.2 unarchive 21851 fixed 21851 26.1 notfixed 21851 25.2 unarchive 21852 fixed 21852 26.1 notfixed 21852 25.2 unarchive 21853 fixed 21853 26.1 notfixed 21853 25.2 unarchive 21881 fixed 21881 26.1 notfixed 21881 25.2 unarchive 21936 fixed 21936 26.1 notfixed 21936 25.2 unarchive 21962 fixed 21962 26.1 notfixed 21962 25.2 unarchive 22117 fixed 22117 26.1 notfixed 22117 25.2 unarchive 22140 fixed 22140 26.1 notfixed 22140 25.2 unarchive 22170 fixed 22170 26.1 notfixed 22170 25.2 unarchive 22172 fixed 22172 26.1 notfixed 22172 25.2 unarchive 22227 fixed 22227 26.1 notfixed 22227 25.2 unarchive 22315 fixed 22315 26.1 notfixed 22315 25.2 unarchive 22325 fixed 22325 26.1 notfixed 22325 25.2 unarchive 22329 fixed 22329 26.1 notfixed 22329 25.2 unarchive 22348 fixed 22348 26.1 notfixed 22348 25.2 unarchive 22478 fixed 22478 26.1 notfixed 22478 25.2 unarchive 22530 fixed 22530 26.1 notfixed 22530 25.2 unarchive 22531 fixed 22531 26.1 notfixed 22531 25.2 unarchive 22576 fixed 22576 26.1 notfixed 22576 25.2 unarchive 22583 fixed 22583 26.1 notfixed 22583 25.2 unarchive 22586 fixed 22586 26.1 notfixed 22586 25.2 unarchive 22592 fixed 22592 26.1 notfixed 22592 25.2 unarchive 22594 fixed 22594 26.1 notfixed 22594 25.2 unarchive 22595 fixed 22595 26.1 notfixed 22595 25.2 unarchive 22596 fixed 22596 26.1 notfixed 22596 25.2 unarchive 22627 fixed 22627 26.1 notfixed 22627 25.2 unarchive 22632 fixed 22632 26.1 notfixed 22632 25.2 unarchive 22648 fixed 22648 26.1 notfixed 22648 25.2 unarchive 22664 fixed 22664 26.1 notfixed 22664 25.2 unarchive 22720 fixed 22720 26.1 notfixed 22720 25.2 unarchive 22724 fixed 22724 26.1 notfixed 22724 25.2 unarchive 22764 fixed 22764 26.1 notfixed 22764 25.2 unarchive 22799 fixed 22799 26.1 notfixed 22799 25.2 unarchive 22800 fixed 22800 26.1 notfixed 22800 25.2 unarchive 22814 fixed 22814 26.1 notfixed 22814 25.2 unarchive 22824 fixed 22824 26.1 notfixed 22824 25.2 unarchive 22827 fixed 22827 26.1 notfixed 22827 25.2 unarchive 22837 fixed 22837 26.1 notfixed 22837 25.2 unarchive 22841 fixed 22841 26.1 notfixed 22841 25.2 unarchive 22890 fixed 22890 26.1 notfixed 22890 25.2 unarchive 22928 fixed 22928 26.1 notfixed 22928 25.2 unarchive 22940 fixed 22940 26.1 notfixed 22940 25.2 unarchive 22964 fixed 22964 26.1 notfixed 22964 25.2 unarchive 22968 fixed 22968 26.1 notfixed 22968 25.2 unarchive 23020 fixed 23020 26.1 notfixed 23020 25.2 unarchive 23071 fixed 23071 26.1 notfixed 23071 25.2 unarchive 23116 fixed 23116 26.1 notfixed 23116 25.2 unarchive 23139 fixed 23139 26.1 notfixed 23139 25.2 unarchive 23159 fixed 23159 26.1 notfixed 23159 25.2 unarchive 23167 fixed 23167 26.1 notfixed 23167 25.2 unarchive 23262 fixed 23262 26.1 notfixed 23262 25.2 unarchive 23290 fixed 23290 26.1 notfixed 23290 25.2 unarchive 23374 fixed 23374 26.1 notfixed 23374 25.2 unarchive 23390 fixed 23390 26.1 notfixed 23390 25.2 unarchive 23401 fixed 23401 26.1 notfixed 23401 25.2 unarchive 23411 fixed 23411 26.1 notfixed 23411 25.2 unarchive 23459 fixed 23459 26.1 notfixed 23459 25.2 unarchive 23608 fixed 23608 26.1 notfixed 23608 25.2 unarchive 23703 fixed 23703 26.1 notfixed 23703 25.2 unarchive 23730 fixed 23730 26.1 notfixed 23730 25.2 unarchive 23829 fixed 23829 26.1 notfixed 23829 25.2 unarchive 23850 fixed 23850 26.1 notfixed 23850 25.2 unarchive 23863 fixed 23863 26.1 notfixed 23863 25.2 unarchive 23883 fixed 23883 26.1 notfixed 23883 25.2 unarchive 23914 fixed 23914 26.1 notfixed 23914 25.2 unarchive 23949 fixed 23949 26.1 notfixed 23949 25.2 unarchive 23998 fixed 23998 26.1 notfixed 23998 25.2 unarchive 24122 fixed 24122 26.1 notfixed 24122 25.2 unarchive 24133 fixed 24133 26.1 notfixed 24133 25.2 unarchive 24166 fixed 24166 26.1 notfixed 24166 25.2 unarchive 24257 fixed 24257 26.1 notfixed 24257 25.2 unarchive 24308 fixed 24308 26.1 notfixed 24308 25.2 unarchive 24432 fixed 24432 26.1 notfixed 24432 25.2 From unknown Thu Jun 19 14:15:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 01 Jan 2017 12:24:23 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator