| /[baselayout]/trunk/src/librc.c |
Parent Directory
|
Revision Log
rc_service_option_set -> rc_service_value_set, rc_service_option_get -> rc_service_value_get
rc_schedule_clear -> rc_service_schedule_clear, rc_schedule_start_service -> rc_service_schedule_start
rc_get_runlevels -> rc_runlevel_list
rc_allow_plug -> rc_service_plugable
rc_set_service_option -> rc_service_option_set, rc_get_service_option -> rc_service_option_get
rc_wait_service -> rc_service_wait
Rationalise more functions into rc_service_
librc no longer uses libeinfo. deptree function names are now all under rc_deptree_
Crashed is not a baselayout state as such
rc_service_state now returns the state as a mask, which means that we can do things with just the one call making is more efficient.
enums are now fixed to specific values and are in UPPER CASE.
add hidden definition for rc_waitpid()
Revert last patch
We no longer use bool in our public headers, using int instead.
Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups.
Use a pty for prefixed output instead of pipes for stdout/stderr. This
is so that programs can get information about the controlling terminal.
This change was triggered by bug #188506 where it's possible that
stdin, stdout and stderr didn't point to a terminal but ended up on one
via our pipes. Using a pty means that stdout and stderr always point to
a terminal, but we lose the ability to tell them apart.
If there is not a pty available then we use un-prefixed output as normal.
This change has also introduced the need for a signal pipe so that
SIGCHLD can exit the loop cleanly.
API change! rc_ls_dir, rc_get_config and rc_get_list no longer take
a starting list as a first argument. Instead, use rc_strlist_join
to append or prepend the new list to an existing list.
API change! rc_strlist_add and friends now take char *** instead of
char ** and return a pointer to the item added instead of the new
list head. This is so we can easily tell if the item was successfully
added or not instead of iterating through the list looking for it.
list = rc_strlist_add (list, item);
becomes
rc_strlist_add (&list, item);
strdup -> rc_xstrdup
Move more stuff to #defines
Don't link to rt anymore as it makes dlopen leak - we now use nanosleeps to achieve the same goal (a loop + timeout). No longer put / at the end of directories, instead prefix like so RC_LIBDIR "/foo" to ensure more robust code.
Add help to rc-update #188170 and tidy up the code a fair bit.
Rename variable
init scripts and their extra options can now have descriptions, #184327.
Fix error and only let root run init commands except for status and help
Use clock MONOTONIC to timeout, not localtime, #177514
Don't timeout waiting for checkfs and checkroot. Do a better fix later.
Don't abort select when on signals
error then unlink
Don't free in vfork
Re-work the starting and stopping of services so we always know the pid so we can kill our children without the need for process groups which we cannot use as keyboard will not work in init.
Added the rc-abort command, #175106 thanks to Daniel Drake.
Plugins now run in a forked process for extra resliance.
strdup -> rc_xstrdup
kill off internal relocations for librc.so
Use basename properly
Cuddle up to LKML C style
Add new service hooks, remove pmake stuff from our Makefile and fix rc_services_in_state for scheduled.
Fix indentation
strcpy is bad
We now compile on OpenBSD (no idea if it works or not yet)
Rewrite the core parts in C. We now provide librc so other programs can
query runlevels, services and state without using bash. We also provide
libeinfo so other programs can easily use our informational functions.
As such, we have dropped the requirement of using bash as the init script
shell. We now use /bin/sh and have strived to make the scripts as portable
as possible. Shells that work are bash and dash. busybox works provided
you disable s-s-d. If you have WIPE_TMP set to yes in conf.d/bootmisc you
should disable find too.
zsh and ksh do not work at this time.
Networking support is currently being re-vamped also as it was heavily bash
array based. As such, a new config format is available like so
config_eth0="1.2.3.4/24 5.6.7.8/16"
or like so
config_eth0="'1.2.3.4 netmask 255.255.255.0' '5.6.7.8 netmask 255.255.0.0'"
We will still support the old bash array format provided that /bin/sh IS
a link it bash.
ChangeLog for baselayout-1 can be found in our SVN repo.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| ViewVC Help | |
| Powered by ViewVC 1.1.20 |