Commit Graph

14 Commits

Author SHA1 Message Date
Mike Massonnet
6b8162b4e9 [linux|freebsd] Fix condition to calculate CPU usage 2010-05-21 15:29:45 +02:00
Mike Massonnet
0be1d45507 Don't recount CPU count in Linux implementation 2010-05-16 12:30:37 +02:00
Mike Massonnet
b961822ba4 Move POSIX code to task-manager.c
The functions send_signal_to_pid() and set_priority_to_pid() are using
POSIX functions and “should” be safe in task-manager.c. Still keep the
enumeration as a bridge between virtual values and real values, there is
no benefit removing them (wasting minutes) and it won't make the code
look better (or worse).

The functions have been removed from the Linux and BSD implementations.
2010-05-16 12:30:37 +02:00
Mike Massonnet
1788e3c220 Implement new function pid_is_sleeping()
The function pid_is_sleeping() is implement by the different OS
implementations and returns TRUE or FALSE. It is used in the tree view
context menu to show either the signal Stop or Continue.
2010-05-09 01:34:56 +02:00
Mike Massonnet
07131a81b3 Context menu for sending signals and setting priorities
Base signals and priorities are defined inside the task-manager.h file
to be reused as general values inside the interface. The different OS
implementations have to do the conversion from the enumeration to real
values.
2010-05-09 00:51:46 +02:00
Mike Massonnet
e524915ac7 Several micro fixes on the Linux implementation
Fix one segfault where some processes like “ls” live very briefly and
those may be catched up but at the time to read the cmdline the process
tree already disappeared. Also terminate the cmdline with \0.

I ran the application on my netbook, which doesn't have /proc/<PID>/comm
files... The code has been updated to read the short command from the
buffer.
2010-05-08 14:49:12 +02:00
Mike Massonnet
a7465b61f4 Fix for scanf failing at parsing process names with spaces
The code still uses scanf to parse the stat file, but the process name
is being cleansed so that it never fails. The name is read from the
“comm” file. It is still a truncated version of the name, and will
likely remain for very long like this. There is one solution, but since
the name isn't currently used inside the interface there is no point
wasting time.
2010-05-08 00:10:22 +02:00
Mike Massonnet
553be8eee1 Temporary “fix” of a nasty segfault
On the Linux implementation, when a process name has a space in it the
sscanf function is unable to parse the line properly. This will have to
be changed, but in the meantime ignore such processes and avoid the
segfault, there are going to be Beta releases.
2010-05-07 21:52:46 +02:00
Mike Massonnet
2506eb50d8 Typo, that's why I hate commit and pushing right behind 2010-05-05 18:02:35 +02:00
Mike Massonnet
3cd86dca3d Well s/jiffles/jiffies/
I was quite sure I had a typo but didn't concider it.
2010-05-05 16:39:51 +02:00
Mike Massonnet
074f5039e1 Calculate CPU usage per process in Linux implementation
Added a utility function that stores old jiffles inside a hash table in
order to be able to provide usage values of system and user time in
percentage.
2010-05-05 16:30:37 +02:00
Mike Massonnet
a02bf69573 Show list of tasks
Provide the list of tasks through a GArray and parse it in main.c to
update the GtkTreeModel.
2010-05-05 09:02:04 +02:00
Mike Massonnet
71d1684696 Add precision to memory/swap and CPU
Switched all the gushort against gfloat data types for the memory, swap
and CPU usages. Show them with a precision of two decimals in the GUI.
2010-05-02 17:03:58 +02:00
Mike Massonnet
4f04ca5cb7 Read information from memory/swap and CPU
This commit is the second of an incremental serie. There will be other
commits with the information about tasks and the support for BSD and
Solaris once things are settled.

The TaskManager class is build with a new source task-manager-linux.c
that provides functions specific to the Linux implementation. It has
functions to read the usage of the memory/swap and the CPU.
2010-05-02 17:00:30 +02:00