/[baselayout]/trunk/src/rc.c |
Parent Directory
|
Revision Log
Wait for plugins to finish before moving on.
const correctness
malloc over fatty buffers
malloc data size, not pointer size
Fix failed services a little, and make timeout more sane
Improve applet help a little. Also, if mountinfo as any mounts given, work explictly with --netdev/--nonetdev
Quiet some compile time warnings on uclibc
Wups, should be xstrdup
Punt rc_ from xstrdup, xalloc, xrealloc and exists as they're not in librc anymore
Move rc_env_filter and rc_env_config out of librc and into rc
Fix a few errors with the last few commits
Punt rc_waitpid
Punt rc_rm_dir
Punt rc_ls_dir
Punt rc_is_dir
rc_make_env -> rc_env_config, rc_filter_env -> rc_env_filter
rc_service_option_set -> rc_service_value_set, rc_service_option_get -> rc_service_value_get
Compile fix
rc_allow_plug -> rc_service_plugable
rc_set_service_option -> rc_service_option_set, rc_get_service_option -> rc_service_option_get
Plug a leak
Rationalise more functions into rc_service_
librc no longer uses libeinfo. deptree function names are now all under rc_deptree_
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.
rc_is_env is now rc_env_bool and just works with boolean values.
Revert last patch
We no longer use bool in our public headers, using int instead.
Add support for describing the options in the C programs.
Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups.
Plug some leaks
Added the checkown applet based on the work by Renato Caldas, #192682 checkdir ensures that the specified files (or directories) are owned by the current user/group or as specified on the command line. You can optionally check permissions too.
Don't be an ass - don't free the 2nd list. Instead just empty it.
Match the recent api change to rc_strlist_join also. We now free the 2nd list for ease of use.
API change! rc_config_env is renamed to rc_make_env and takes no argument.
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);
More path fixes thanks to Thomas Pani
Use correct defines
Undocument pause action, fix --nodeps and --ifstarted, #190045.
#define shutdown
Move more stuff to #defines
Fix ksoftlevel handling, #190420.
Only open /proc/cmdline if it exists, #189686 thanks to Christian Affolter
Stop un-needed services when changing runlevels, #189050.
Fully move esyslog into rc
Add esyslog support
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.
Boot properly when we cannot set an early font, #187628.
Fix rc-update, #187487 and release rc2.
All our binaries are now mulicalls into rc, which makes our on disk size a lot smaller.
Merge some of reb's OpenBSD fixes in
appending noinitd=xdm will skip the xdm service when first booting, #181858.
RC_DEPEND_STRICT now controls dependency strictness. If yes then we only use services in the boot and default runlevels, regradless of service state. If no then we take into account coldplugged services and the state of currently running services. Fixes #185640.
Don't do interactive when changing init, #174141.
Punt the dodgy ebuffer code. We now force prefixing for parallel starts which also reduces our variable pollution.
Remove a debug line
We no longer care about numerical runlevels, #184733.
As we're running each plugin in a fork, we need to call our cleanup code so we don't leak memory. To this extent, we now have the global boolean rc_in_plugin and the cleanup code can act accordingly.
Add --nocolor to more programs
Change pwd to / for all init scripts, #181224.
Create a function for running init.sh and init-early.sh which saves on code and removes a gcc-4.2 warning
Default eend to SUCCESS if no options given
RC_INTERACTIVE now works, #178331.
Always pass ttyname to sulogin
Don't timeout waiting for checkfs and checkroot. Do a better fix later.
Set fonts in init-early.sh, don't stop services twice when shutting down and lock prefixed output.
Don't pass $CONSOLE to sulogin and split rc_environ_fd on NULLs
We now have an alternative to buffering stdout and stderr. RC_PREFIX="yes" will put the service name as a prefix to all output made by the service. Thanks to Ciaran McCreesh for the idea.
We now buffer stdout and stderr to a file and flush that when running in parallel. RC_PARALLEL_STARTUP has been renamed to RC_PARALLEL.
Style fixes
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.
Fix rc-abort to notify the plugins we are aborting
Added the rc-abort command, #175106 thanks to Daniel Drake.
Plugins now run in a forked process for extra resliance.
strdup -> rc_xstrdup
Rationalise our colour usage a little.
Cuddle up to LKML C style
Change veinfo and friends to einfov. Rationale - we may need veinfo to support va_list in the future.
Fix indentation
rc does not need SIGCHLD handler. Also, always return 0 in /etc/rc as non zero for default may freeze system.
Use names instead of numbers for reporting signals and trap signals in rc
LIBDIR -> LIB. When interuppted, ensure service state is restored correctly. When stopping, don't uncoldplug too early.
Misc fixes, plugged a memory leak in runscript.c and use va_copy to avoid nasty segfaults
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 |