Age | Commit message (Collapse) | Author |
|
|
|
|
|
Use the new spec fields.
Now takes a ps_fmt_specs_t instead of an array of specs.
Also fixup call to ps_fmt_specs_find().
(ps_fmt_write_proc_stat): Support new inval field in FMT.
(ps_fmt_set_output_width): New function.
|
|
If there are any running threads, then only average priority from them.
(_proc_stat_free): Call user cleanup hook.
(proc_stat_set_flags, add_preconditions): Deal with user bits.
(proc_stat_set_flags): Support the failed field.
(_proc_stat_create): Initialize the failed and hook fields.
|
|
(PSTAT_HOOK, PSTAT_USER_BASE, PSTAT_USER_MASK): New macros.
(struct ps_context): Add USER_HOOKS field.
(struct ps_fmt_spec): Add TITLE field. Renamed DEFAULT_WIDTH field to WIDTH,
and move to after TITLE.
(ps_fmt_spec_width): Renamed from ps_fmt_spec_default_width().
(ps_fmt_spec_title): New macro.
(struct ps_fmt): Add INVAL field.
(ps_fmt_inval): New macro.
(ps_fmt_specs_t): New typedef.
(struct ps_fmt_specs): New structure.
(ps_std_fmt_specs): Now of type struct ps_fmt_specs.
(ps_fmt_specs_find): Renamed from find_ps_fmt_spec; now uses a struct
ps_fmt_specs instead of an array of specs.
(ps_fmt_create): Now takes a ps_fmt_specs_t structure instead of an array of
specs.
(struct proc_stat): Add failed and hook fields.
|
|
Write `-' when the value is 0, rather than mangling the output.
(ps_emit_uid): Use an int uid, and emit "-" for none.
(ps_emit_uname, ps_cmp_uids, ps_cmp_unames, ps_nominal_user):
Handle NULL users.
(ps_owner_uid_getter): New variable.
(ps_get_owner_uid, ps_nominal_uid): New functions.
(ps_std_fmt_specs): Make "UID" use owner_uid rather than owner.
(own_uid): New variable (was function local).
|
|
(ps_not_leader_filter): Renamed from ps_not_sess_leader_filter.
(ps_unorphaned_p): Include login leaders as well as session leaders.
(ps_own_filter): Depend on PSTAT_OWNER_UID.
(ps_own_p): Account for there being no uid.
|
|
to null), instead of failing.
(proc_stat_set_flags): Add support for PROC_OWNER_UID.
(add_preconditions): Add preconditions for owner_uid (& owner).
|
|
(PSTAT_OWNER_UID): New macro.
(struct proc_stat): Add owner_uid field.
(ps_not_leader_filter): Renamed from ps_not_sess_leader_filter.
|
|
Use new STREAM parameter instead of old one and count.
|
|
ps_emit_percent, ps_emit_num_blocks, ps_emit_nice_int,
ps_emit_nice_seconds, ps_emit_seconds, ps_emit_uid, ps_emit_uname,
ps_emit_string0, ps_emit_string, ps_emit_tty_name, ps_emit_state):
Use new STREAM parameter instead of old one and count.
Use new function names.
|
|
(ps_stream_space): Renamed from ps_write_spaces.
(ps_stream_pad): Renamed from ps_write_padding.
(ps_stream_write_field): Renamed from ps_write_field.
(ps_stream_write_int_field): Renamed from ps_write_int_field.
(ps_stream_write, ps_stream_space, ps_stream_pad,
ps_stream_newline, ps_stream_write_field, ps_stream_write_int_field):
Use new STREAM parameter instead of old one and count.
Use new function names.
(ps_stream_write, ps_stream_space): Support negative spaces.
(ps_stream_pad, ps_stream_write_field): Use negative spaces.
(ps_stream_newline): New function.
|
|
Use new STREAM parameter instead of old one and count.
|
|
ps_emit_int, ps_emit_nz_int, ps_emit_priority, ps_emit_percent,
ps_emit_num_blocks, ps_emit_nice_int, ps_emit_nice_seconds, ps_emit_seconds,
ps_emit_uid, ps_emit_uname, ps_emit_string0, ps_emit_string,
ps_emit_tty_name, ps_emit_state, ps_stream_write, ps_stream_space,
ps_stream_pad, ps_stream_newline, ps_stream_write_field,
ps_stream_write_int_field):
Use new STREAM parameter instead of old one and count.
(ps_stream_write): Renamed from ps_write_string.
(ps_stream_space): Renamed from ps_write_spaces.
(ps_stream_pad): Renamed from ps_write_padding.
(ps_stream_write_field): Renamed from ps_write_field.
(ps_stream_write_int_field): Renamed from ps_write_int_field.
(ps_stream_newline): New declaration.
|
|
ps_get_cur_priority):
Get this info using PSTAT_THREAD_BASIC instead of PSTAT_THREAD_SCHED.
|
|
Initialize the proc_info and proc_info_size fields if they've never been set.
Always update proc_getprocinfo fields, even if we already had them.
(add_preconditions): Correct preconditions for PSTAT_STATE.
(PSTAT_TEST_MSGPORT): Renamed from SHOULD_SUPPRESS_MSGPORT_FLAGS.
(PSTAT_USES_MSGPORT): New macro.
(SUPPRESS_MSGPORT_FLAGS): Use PSTAT_USES_MSGPORT, not PSTAT_MSGPORT.
(proc_stat_set_flags): Use PSTAT_TEST_MSGPORT.
(merge_procinfo): Only copy old task info if we actually had it.
(proc_stat_set_flags): Don't unnecessarily grab procinfo stuff.
(summarize_thread_basic_info): Summarize available priority info too.
(summarize_thread_sched_info): Do max_ & depress_priority too.
|
|
anymore (but do require PSTAT_{TASK,THREAD}_BASIC).
(proc_stat_state_tags): Update to reflect new flags.
(proc_stat_set_flags): Set new flags.
(PSTAT_PROCINFO, PSTAT_PROCINFO_THREAD): New macros.
(fetch_procinfo, merge_procinfo): New functions.
(SHOULD_SUPPRESS_MSGPORT_FLAGS): Change to use more accurate flags.
(should_suppress_msgport): Use new fields.
(summarize_thread_basic_info, summarize_thread_sched_info,
summarize_thread_states, summarize_thread_rpcs, count_threads): New funcs.
(proc_stat_set_flags): Support the new division of PSTAT_INFO into individual
flags, and support getting thread information by using the thread's origin
proc_stat.
(_proc_stat_free):
Free the thread_basic_info and thread_sched_info fields if necessary.
(proc_stat_thread_create): Don't require that the source process have thread
information around; it will be fetched later if necessary.
|
|
(ps_own_p): Use proc_stat_proc_info, not proc_stat_info.
|
|
(ps_get_rpc): New function.
(ps_std_fmt_specs): Add "RPC" entry.
(ps_emit_nz_int): New function.
(ps_ppid_getter, ps_pgrp_getter, ps_session_getter, ps_login_col_getter):
Use PSTAT_PROC_INFO, not PSTAT_INFO.
(ps_get_ppid, ps_get_pgrp, ps_get_session, ps_get_login_col):
Use proc_stat_proc_info, not proc_stat_info.
(ps_vsize_getter, ps_rsize_getter, ps_rmem_frac_getter,
ps_proc_susp_count_getter): Use PSTAT_TASK_BASIC, not PSTAT_INFO.
(ps_get_vsize, ps_get_rsize, ps_get_rmem_frac, ps_get_proc_susp_count):
Use proc_stat_task_basic_info, not proc_stat_info.
(ps_cur_priority_getter, ps_base_priority_getter, ps_max_priority_getter):
Use PSTAT_THREAD_SCHED, not PSTAT_THREAD_INFO.
(ps_usr_time_getter, ps_sys_time_getter, ps_tot_time_getter,
ps_cpu_frac_getter, ps_sleep_getter):
Use PSTAT_THREAD_BASIC, not PSTAT_THREAD_INFO.
|
|
(proc_stat_num_threads): Use the num_threads field.
(proc_stat_thread_sched_info, proc_stat_thread_basic_info):
Don't take the address, now that the fields used are pointers themselves.
(proc_stat_thread_rpc, proc_stat_task_basic_info): New macros.
(proc_stat_proc_info): Renamed from proc_stat_info.
(PSTAT_PROC_INFO): Renamed from PSTAT_INFO.
(PSTAT_TASK_BASIC, PSTAT_THREAD_BASIC, PSTAT_THREAD_SCHED, PSTAT_THREAD_RPC):
New macros.
(struct proc_stat):
info & info_len --> proc_info & proc_info_len.
Add the num_threads, task_basic_info, and thread_rpc fields.
thread_basic_info & thread_sched_info are now pointers.
|
|
|
|
|
|
(REMHDRS, MIGSTUBS): Removed.
|
|
|
|
(state_shadows): New variable.
(ps_emit_state): Use the state_shadows list to turn off some states.
|
|
PSTAT_STATE_P_* for process-global bits, and PSTAT_STATE_T_* for per-thread
bits.
|
|
(proc_stat_set_flags): Actually set the PSTAT_STATE_P_STOP bit.
(proc_stat_state_tags): Reordered to reflect the new ordering of the state
bits.
|
|
(REMHDRS): New variable.
|
|
actually supposed to be a test! Make it so...
|
|
|
|
test.
|
|
ps_unorphaned_filter, ps_parent_filter): Declare these as extern so that the
linker will bring in the initialized version (it's not doing so otherwise may
be a bug).
|
|
passed just to get correctly capitalized titles. Instead, do things
correctly by making enough room to store our own version of the title string,
which we can do with what we please.
|
|
|
|
|
|
new more general ps_fmt_squash, which is usable for other things than flags.
Recalculate the set of ps flags needed by the fmt in ps_fmt_squash (which
then allows us to remove more specific code in ps_fmt_squash_flags).
|
|
whether values are `unexciting'.
Add entries for proc_stat_list_for_each and proc_stat_list_spec_nominal.
Rename ps_fmt_squash to ps_fmt_squash_flags.
|
|
(proc_stat_list_spec_nominal): New function for deciding if a particular spec
is always nominal.
|
|
(ps_nominal_zint, ps_nominal_user, ps_nominal_pri, ps_nominal_nth):
Possible nominal funs.
|
|
PSTAT_SUSPEND_COUNT, and proc_stat_suspend_count(ps).
|
|
field.
|
|
TSusp (thread suspend count) output specs.
|
|
exceptional conditions, and this is rarer.
|
|
code moved here from from proc_stat_set_flags.
(should_suppress_msgport): A new function that returns true when there's some
condition indicating that we shouldn't use a process's msg port.
(proc_stat_set_flags): Avoid using a process's msg port when it may be
unusable.
(proc_stat_set_flags): Set PSTAT_STATE_FORKED instead of PSTAT_STATE_EXECED.
(proc_stat_state_tags): Change the user state letter to "f" from "e".
|
|
|
|
|
|
|
|
(ps_tty_create, ps_tty_free): Add short_name fields.
Tighten up types used (i.e., don't use int for everything).
|
|
Tighten up types used (i.e., don't use int for everything).
|
|
sleeping or idle threads' status (as that's presumably the signal thread).
(ps_emit_tty_name): Move guts into into ps_tty_short_name.
Tighten up types used (i.e., don't use int for everything).
|