Compare commits

..

1 Commits

Author SHA1 Message Date
Robert Roth
71337d9c7d Prepared release 2.34.1 2016-08-20 17:06:22 +03:00
12 changed files with 134 additions and 159 deletions

64
.gitignore vendored
View File

@@ -1,38 +1,45 @@
*.a
*~
*.bak
*.core
*.diff
*.gmo
*.header
*.in
*.la
*.lo
*.o
*.out
*.patch
*.pot
*.a
*.gmo
*.lo
*.la
*.core
*.s
*.sed
*.sin
*.stamp
*.swp
*~
.deps
.libs
ABOUT-NLS
INSTALL
.deps
Makefile
Makevars.template
Rules-quot
Makefile.in
src/daemon/libgtop_daemon2
src/daemon/libgtop_server2
stamp-h1
po/stamp-it
po/POTFILES
po/Makefile.in.in
missing
m4/
ltmain.sh
libtool
libgtopconfig.h
libgtop.spec
libgtop-2.0.pc
lib/lib.c
lib/GTop-2.0.gir
lib/GTop-2.0.typelib
INSTALL
aclocal.m4
autom4te.cache/
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
compile
depcomp
doc/libgtop2.info
doc/mdate-sh
@@ -72,20 +79,3 @@ examples/timings
examples/wd
gtk-doc.make
install-sh
lib/GTop-2.0.gir
lib/GTop-2.0.typelib
lib/lib.c
libgtop-2.0.pc
libgtop.spec
libgtopconfig.h
libtool
ltmain.sh
m4/
missing
po/POTFILES
po/stamp-it
src/daemon/libgtop_daemon2
src/daemon/libgtop_server2
stamp-h1
stamp-po
tmp-*

21
NEWS
View File

@@ -1,24 +1,3 @@
13 February 2017: Overview of changes in 2.35.90
================================================
* Linux:
- Use dynamically allocated cpu buffer
- Do not cache getpagesize()
- Use faster g_ascii_isspace in tokenization
- Ignore paragraphs not describing a CPU/core
* Updated translations
* Added more gettext options
16 January 2017: Overview of changes in 2.34.2
================================================
* Linux:
- fill last_processor member
* Updated translations
* Added more gettext options
20 August 2016: Overview of changes in 2.34.1
================================================

View File

@@ -3,8 +3,8 @@ dnl Configure script for the Gnome library
dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [35])
m4_define([libgtop_micro_version], [90])
m4_define([libgtop_minor_version], [34])
m4_define([libgtop_micro_version], [1])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.

View File

@@ -8,7 +8,7 @@ subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding

View File

@@ -5,20 +5,20 @@ msgid ""
msgstr ""
"Project-Id-Version: libgtop 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-26 22:07+0000\n"
"PO-Revision-Date: 2009-06-30 04:01+0000\n"
"Last-Translator: Ante Karamatić <ante.karamatic@canonical.com>\n"
"POT-Creation-Date: 2008-03-11 15:24+0000\n"
"PO-Revision-Date: 2007-06-19 23:43+0000\n"
"Last-Translator: Ante Karamatić <ivoks@grad.hr>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2016-09-15 11:39+0000\n"
"X-Generator: Launchpad (build 18186)\n"
"Language: hr\n"
"X-Launchpad-Export-Date: 2008-05-27 21:06+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: ../lib/read.c:49
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
@@ -26,11 +26,11 @@ msgstr[0] "čitaj %d byte"
msgstr[1] "čitaj %d bytea"
msgstr[2] "čitaj %d byteova"
#: ../lib/read_data.c:49
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "veličina pročitanih podataka"
#: ../lib/read_data.c:66
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
@@ -38,7 +38,7 @@ msgstr[0] "čitaj %lu byte podataka"
msgstr[1] "čitaj %lu bytea podataka"
msgstr[2] "čitaj %lu byteova podataka"
#: ../lib/write.c:49
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
@@ -46,19 +46,19 @@ msgstr[0] "zapisao %d byte"
msgstr[1] "zapisao %d bytea"
msgstr[2] "zapisao %d byteova"
#: ../src/daemon/gnuserv.c:456
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Omogućavanje debugiranja"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Omogući opširni izlaz"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Bez forkanja u pozadini"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Pozvano iz inetda"
@@ -66,8 +66,7 @@ msgstr "Pozvano iz inetda"
#, c-format
msgid ""
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Pokrenite naredbu '%s --help' kako biste vidjeli popis dostupnih opcija.\n"
msgstr "Pokrenite naredbu '%s --help' kako biste vidjeli popis dostupnih opcija.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"

114
po/pl.po
View File

@@ -1,27 +1,31 @@
# Polish translation for libgtop.
# Copyright © 1999-2016 the libgtop authors.
# This file is distributed under the same license as the libgtop package.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Aviary.pl
# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz
# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas:
# gnomepl@aviary.pl
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 1999-2002.
# Artur Flinta <aflinta@at.kernel.pl>, 2004-2007.
# Piotr Drąg <piotrdrag@gmail.com>, 2010-2016.
# Aviary.pl <community-poland@mozilla.org>, 2010-2016.
#
# Piotr Drąg <piotrdrag@gmail.com>, 2010-2015.
# Aviary.pl <gnomepl@aviary.pl>, 2010-2015.
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-12 09:17+0000\n"
"PO-Revision-Date: 2016-08-20 15:54+0200\n"
"POT-Creation-Date: 2015-08-26 19:45+0200\n"
"PO-Revision-Date: 2015-08-26 19:47+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: Poland\n"
#: lib/read.c:49
#: ../lib/read.c:49
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
@@ -29,11 +33,11 @@ msgstr[0] "odczyt %d bajtu"
msgstr[1] "odczyt %d bajtów"
msgstr[2] "odczyt %d bajtów"
#: lib/read_data.c:49
#: ../lib/read_data.c:49
msgid "read data size"
msgstr "odczyt rozmiaru danych"
#: lib/read_data.c:66
#: ../lib/read_data.c:66
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
@@ -41,7 +45,7 @@ msgstr[0] "odczytano jeden bajt danych"
msgstr[1] "odczytano %lu bajty danych"
msgstr[2] "odczytano %lu bajtów danych"
#: lib/write.c:49
#: ../lib/write.c:49
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
@@ -49,149 +53,149 @@ msgstr[0] "zapisano jeden bajt"
msgstr[1] "zapisano %d bajty"
msgstr[2] "zapisano %d bajtów"
#: src/daemon/gnuserv.c:456
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Włącza debugowanie"
#: src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Więcej informacji"
msgstr "Wyświetla więcej informacji"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Bez przechodzenia w tło"
msgstr "Uruchamia program bez przechodzenia w tło"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Wywołanie przez inetd"
#: src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Polecenie „%s --help” wyświetli pełną listę dostępnych opcji wiersza "
"poleceń.\n"
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Zawieszenie"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Przerwanie"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Zakończenie"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Niedozwolona instrukcja"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Trace trap"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Przerwanie"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Błąd EMT"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Wyjątek związany z liczbą zmiennoprzecinkową"
msgstr "Wyjątek związany z liczbą zmiennoprzecinkową"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Wymuszenie zakończenia"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Błąd magistrali"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Naruszenie ochrony pamięci"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Błędny parametr dla wywołania systemowego"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Uszkodzony potok"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Budzik"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Zakończenie"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Pilny warunek związany z gniazdem"
msgstr "Pilny warunek związany z gniazdem"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Zatrzymanie"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Zatrzymanie klawiatury"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Kontynuacja"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Zmiana stanu procesu potomnego"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Odczyt w tle z urządzenia TTY"
msgstr "Odczyt w tle z urządzenia TTY"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Zapis w tle do urządzenia TTY"
msgstr "Zapis w tle do urządzenia TTY"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "Wejście/wyjście jest teraz dostępne"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Przekroczono ograniczenie procesora"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Przekroczono ograniczenie rozmiaru plików"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Wirtualny budzik"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Profilowanie budzika"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Zmiana rozmiaru okna"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Żądanie informacji"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "1. sygnał określony przez użytkownika"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "2. sygnał określony przez użytkownika"

View File

@@ -51,7 +51,7 @@ char *
skip_token (const char *p)
{
p = next_token(p);
while (*p && !g_ascii_isspace(*p)) p++;
while (*p && !isspace(*p)) p++;
p = next_token(p);
return (char *)p;
}
@@ -178,6 +178,20 @@ get_boot_time(glibtop *server)
}
size_t
get_page_size(void)
{
static size_t pagesize = 0;
if(G_UNLIKELY(!pagesize))
{
pagesize = getpagesize();
}
return pagesize;
}
gboolean
check_cpu_line(glibtop *server, const char *line, unsigned i)

View File

@@ -37,7 +37,7 @@ G_BEGIN_DECLS
static inline char*
next_token(const char *p)
{
while (g_ascii_isspace(*p)) p++;
while (isspace(*p)) p++;
return (char*) p;
}
@@ -122,6 +122,10 @@ unsigned long
get_boot_time(glibtop *server);
size_t
get_page_size(void);
gboolean
check_cpu_line(glibtop *server, const char *line, unsigned n);

View File

@@ -82,7 +82,7 @@ void
glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
{
char buffer [BUFSIZ], *p;
const size_t pagesize = getpagesize();
const size_t pagesize = get_page_size();
memset (buf, 0, sizeof (glibtop_proc_mem));

View File

@@ -53,7 +53,7 @@ glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf,
pid_t pid)
{
char buffer [BUFSIZ], *p;
const size_t pagesize = getpagesize();
const size_t pagesize = get_page_size();
memset (buf, 0, sizeof (glibtop_proc_segment));

View File

@@ -110,9 +110,6 @@ glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid)
break;
}
p = skip_multiple_token (p, 36);
buf->last_processor = atoi (p);
p = skip_token (buffer); /* pid */
if (G_UNLIKELY(*p++ != '('))
glibtop_error_r (server, "Bad data in /proc/%d/stat", pid);

View File

@@ -36,34 +36,23 @@ static glibtop_sysinfo sysinfo = { .flags = 0 };
static void
init_sysinfo (glibtop *server)
{
char* buffer;
char buffer [65536];
gchar ** processors;
if(G_LIKELY(sysinfo.flags)) return;
if (!g_file_get_contents(FILENAME, &buffer, NULL, NULL)) {
glibtop_error_io_r(server, "g_file_get_contents(%s)", FILENAME);
}
file_to_buffer(server, buffer, sizeof buffer, FILENAME);
/* cpuinfo records are seperated by a blank line */
processors = g_strsplit(buffer, "\n\n", 0);
g_free(buffer);
sysinfo.ncpu = 0;
for (char** this_proc = &processors[0]; *this_proc && **this_proc; this_proc++) {
if (sysinfo.ncpu >= GLIBTOP_NCPU) {
glibtop_warn_r(server, "Cannot deal with more than %d CPUs", GLIBTOP_NCPU);
break;
}
for(sysinfo.ncpu = 0;
sysinfo.ncpu < GLIBTOP_NCPU && processors[sysinfo.ncpu] && *processors[sysinfo.ncpu];
sysinfo.ncpu++) {
gchar **parts, **p;
if (g_strrstr (*this_proc, "processor" ) == NULL) {
/* skip unknown paragraph */
if (g_strrstr (processors[sysinfo.ncpu], "processor" ) == NULL)
continue;
}
glibtop_entry * const cpuinfo = &sysinfo.cpuinfo[sysinfo.ncpu];
cpuinfo->labels = g_ptr_array_new ();
@@ -75,7 +64,7 @@ init_sysinfo (glibtop *server)
g_free, g_free);
/* "<key> : <value>" */
parts = g_strsplit_set(*this_proc, ":\n", 0);
parts = g_strsplit_set(processors[sysinfo.ncpu], ":\n", 0);
for(p = parts; *p && *(p+1); p += 2) {
@@ -96,7 +85,6 @@ init_sysinfo (glibtop *server)
g_free(parts);
sysinfo.ncpu++;
}
g_strfreev(processors);