/[baselayout]/trunk/src/rc.c
Gentoo

Log of /trunk/src/rc.c

Parent Directory Parent Directory | Revision Log Revision Log



Revision 2978 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 3 14:22:45 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36262 byte(s)
Diff to previous 2968
rc_service_option_set -> rc_service_value_set, rc_service_option_get -> rc_service_value_get

Revision 2968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 14:37:30 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36264 byte(s)
Diff to previous 2967
Compile fix

Revision 2967 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 09:57:23 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36258 byte(s)
Diff to previous 2965
rc_allow_plug -> rc_service_plugable

Revision 2965 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 09:02:08 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36246 byte(s)
Diff to previous 2961
rc_set_service_option -> rc_service_option_set, rc_get_service_option -> rc_service_option_get

Revision 2961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 17:20:52 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36246 byte(s)
Diff to previous 2958
Plug a leak

Revision 2958 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 16:54:58 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36206 byte(s)
Diff to previous 2957
Rationalise more functions into rc_service_

Revision 2957 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 16:42:08 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36206 byte(s)
Diff to previous 2953
librc no longer uses libeinfo. deptree function names are now all under rc_deptree_

Revision 2953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 14:53:38 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36193 byte(s)
Diff to previous 2950
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.


Revision 2950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 12:29:23 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36169 byte(s)
Diff to previous 2936
enums are now fixed to specific values and are in UPPER CASE.

Revision 2936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 26 07:05:33 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36169 byte(s)
Diff to previous 2928
rc_is_env is now rc_env_bool and just works with boolean values.

Revision 2928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 17:30:07 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36199 byte(s)
Diff to previous 2927
Revert last patch

Revision 2927 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 17:19:02 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36183 byte(s)
Diff to previous 2923
We no longer use bool in our public headers, using int instead.

Revision 2923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 16:21:38 2007 UTC (6 years, 6 months ago) by vapier
File length: 36199 byte(s)
Diff to previous 2921
Add support for describing the options in the C programs.

Revision 2921 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 15:38:21 2007 UTC (6 years, 6 months ago) by uberlord
File length: 36129 byte(s)
Diff to previous 2908
Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups.

Revision 2908 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 24 09:07:00 2007 UTC (6 years, 7 months ago) by uberlord
File length: 36134 byte(s)
Diff to previous 2897
Plug some leaks

Revision 2897 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 16:27:37 2007 UTC (6 years, 7 months ago) by uberlord
File length: 36091 byte(s)
Diff to previous 2889
    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.

Revision 2889 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 15:43:19 2007 UTC (6 years, 7 months ago) by uberlord
File length: 36015 byte(s)
Diff to previous 2886
Don't be an ass - don't free the 2nd list. Instead just empty it.

Revision 2886 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 14:08:56 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35734 byte(s)
Diff to previous 2885
Match the recent api change to rc_strlist_join also. We now free the 2nd list for ease of use.

Revision 2885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 12:20:55 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35910 byte(s)
Diff to previous 2883
API change! rc_config_env is renamed to rc_make_env and takes no argument.

Revision 2883 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 12:04:51 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35892 byte(s)
Diff to previous 2882
    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.

Revision 2882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 11:36:55 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35854 byte(s)
Diff to previous 2857
    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);

Revision 2857 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 16:28:33 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35912 byte(s)
Diff to previous 2856
More path fixes thanks to Thomas Pani

Revision 2856 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 13:10:07 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35910 byte(s)
Diff to previous 2855
Use correct defines

Revision 2855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 13:06:44 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35906 byte(s)
Diff to previous 2854
Undocument pause action, fix --nodeps and --ifstarted, #190045.

Revision 2854 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 09:17:04 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35778 byte(s)
Diff to previous 2853
#define shutdown

Revision 2853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 09:13:46 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35764 byte(s)
Diff to previous 2852
Move more stuff to #defines

Revision 2852 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 08:50:04 2007 UTC (6 years, 7 months ago) by uberlord
File length: 35900 byte(s)
Diff to previous 2847
Fix ksoftlevel handling, #190420.

Revision 2847 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 22 14:10:46 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35948 byte(s)
Diff to previous 2840
Only open /proc/cmdline if it exists, #189686 thanks to Christian Affolter

Revision 2840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 17 12:14:04 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35897 byte(s)
Diff to previous 2835
Stop un-needed services when changing runlevels, #189050.

Revision 2835 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 16 17:09:57 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35940 byte(s)
Diff to previous 2834
Fully move esyslog into rc

Revision 2834 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 16 16:53:20 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35805 byte(s)
Diff to previous 2828
Add esyslog support

Revision 2828 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 9 14:33:20 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35171 byte(s)
Diff to previous 2815
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.

Revision 2815 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 4 20:35:05 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35386 byte(s)
Diff to previous 2814
Boot properly when we cannot set an early font, #187628.

Revision 2814 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 4 15:05:12 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35354 byte(s)
Diff to previous 2799
Fix rc-update, #187487 and release rc2.

Revision 2799 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 31 16:05:56 2007 UTC (6 years, 8 months ago) by uberlord
File length: 35235 byte(s)
Diff to previous 2794
    All our binaries are now mulicalls into rc, which makes our on disk size
    a lot smaller.

Revision 2794 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 25 20:58:23 2007 UTC (6 years, 9 months ago) by uberlord
File length: 34480 byte(s)
Diff to previous 2792
Merge some of reb's OpenBSD fixes in

Revision 2792 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 23 11:36:12 2007 UTC (6 years, 9 months ago) by uberlord
File length: 34422 byte(s)
Diff to previous 2786
appending noinitd=xdm will skip the xdm service when first booting, #181858.

Revision 2786 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 21 12:49:51 2007 UTC (6 years, 9 months ago) by uberlord
File length: 33554 byte(s)
Diff to previous 2769
    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.

Revision 2769 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 11 13:02:05 2007 UTC (6 years, 9 months ago) by uberlord
File length: 33464 byte(s)
Diff to previous 2768
Don't do interactive when changing init, #174141.

Revision 2768 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 11 12:06:37 2007 UTC (6 years, 9 months ago) by uberlord
File length: 33403 byte(s)
Diff to previous 2760
Punt the dodgy ebuffer code. We now force prefixing for parallel starts which also reduces our variable pollution.

Revision 2760 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 10 13:15:07 2007 UTC (6 years, 9 months ago) by uberlord
File length: 33458 byte(s)
Diff to previous 2759
Remove a debug line

Revision 2759 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 10 11:42:56 2007 UTC (6 years, 9 months ago) by uberlord
File length: 33494 byte(s)
Diff to previous 2744
We no longer care about numerical runlevels, #184733.

Revision 2744 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 4 16:02:01 2007 UTC (6 years, 9 months ago) by uberlord
File length: 34684 byte(s)
Diff to previous 2734
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.

Revision 2734 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 28 15:44:14 2007 UTC (6 years, 9 months ago) by uberlord
File length: 34636 byte(s)
Diff to previous 2732
Add --nocolor to more programs

Revision 2732 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 26 09:20:42 2007 UTC (6 years, 9 months ago) by uberlord
File length: 34240 byte(s)
Diff to previous 2713
Change pwd to / for all init scripts, #181224.

Revision 2713 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 22 12:25:43 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34157 byte(s)
Diff to previous 2711
Create a function for running init.sh and init-early.sh which saves on code and removes a gcc-4.2 warning

Revision 2711 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 16 18:45:16 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34840 byte(s)
Diff to previous 2700
Default eend to SUCCESS if no options given

Revision 2700 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 14 12:48:37 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34873 byte(s)
Diff to previous 2684
RC_INTERACTIVE now works, #178331.

Revision 2684 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 3 13:46:38 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34758 byte(s)
Diff to previous 2678
Always pass ttyname to sulogin

Revision 2678 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 2 15:17:03 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34581 byte(s)
Diff to previous 2659
Don't timeout waiting for checkfs and checkroot. Do a better fix later.

Revision 2659 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 26 11:24:07 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34538 byte(s)
Diff to previous 2656
Set fonts in init-early.sh, don't stop services twice when shutting down and lock prefixed output.

Revision 2656 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 25 15:48:54 2007 UTC (7 years ago) by uberlord
File length: 33449 byte(s)
Diff to previous 2652
Don't pass $CONSOLE to sulogin and split rc_environ_fd on NULLs

Revision 2652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 25 12:30:24 2007 UTC (7 years ago) by uberlord
File length: 33498 byte(s)
Diff to previous 2650
    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.

Revision 2650 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 24 11:29:19 2007 UTC (7 years ago) by uberlord
File length: 33527 byte(s)
Diff to previous 2642
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.

Revision 2642 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 19:03:56 2007 UTC (7 years ago) by uberlord
File length: 33695 byte(s)
Diff to previous 2641
Style fixes

Revision 2641 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 18:58:42 2007 UTC (7 years ago) by uberlord
File length: 33713 byte(s)
Diff to previous 2640
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.

Revision 2640 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 15:02:13 2007 UTC (7 years ago) by uberlord
File length: 31876 byte(s)
Diff to previous 2638
Fix rc-abort to notify the plugins we are aborting

Revision 2638 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 13:12:21 2007 UTC (7 years ago) by uberlord
File length: 31825 byte(s)
Diff to previous 2636
Added the rc-abort command, #175106 thanks to Daniel Drake.

Revision 2636 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 09:39:47 2007 UTC (7 years ago) by uberlord
File length: 31297 byte(s)
Diff to previous 2634
Plugins now run in a forked process for extra resliance.

Revision 2634 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 19 14:54:35 2007 UTC (7 years ago) by uberlord
File length: 31345 byte(s)
Diff to previous 2615
strdup -> rc_xstrdup

Revision 2615 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 17 09:32:18 2007 UTC (7 years ago) by uberlord
File length: 31337 byte(s)
Diff to previous 2577
Rationalise our colour usage a little.

Revision 2577 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 11 12:44:47 2007 UTC (7 years ago) by uberlord
File length: 31098 byte(s)
Diff to previous 2572
Cuddle up to LKML C style

Revision 2572 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 16:11:20 2007 UTC (7 years ago) by uberlord
File length: 36079 byte(s)
Diff to previous 2569
Change veinfo and friends to einfov. Rationale - we may need veinfo to support va_list in the future.

Revision 2569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 11:24:58 2007 UTC (7 years ago) by uberlord
File length: 36079 byte(s)
Diff to previous 2564
Fix indentation

Revision 2564 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 17:11:18 2007 UTC (7 years ago) by uberlord
File length: 32602 byte(s)
Diff to previous 2563
rc does not need SIGCHLD handler. Also, always return 0 in /etc/rc as non zero for default may freeze system.

Revision 2563 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 16:53:21 2007 UTC (7 years ago) by uberlord
File length: 32934 byte(s)
Diff to previous 2560
Use names instead of numbers for reporting signals and trap signals in rc

Revision 2560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 8 16:03:48 2007 UTC (7 years ago) by uberlord
File length: 31852 byte(s)
Diff to previous 2550
LIBDIR -> LIB. When interuppted, ensure service state is restored correctly. When stopping, don't uncoldplug too early.

Revision 2550 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 6 01:04:07 2007 UTC (7 years ago) by uberlord
File length: 31853 byte(s)
Diff to previous 2549
Misc fixes, plugged a memory leak in runscript.c and use va_copy to avoid nasty segfaults

Revision 2549 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 5 15:01:09 2007 UTC (7 years ago) by uberlord
File length: 31764 byte(s)
Diff to previous 2547
We now compile on OpenBSD (no idea if it works or not yet)

Revision 2547 - (view) (download) (as text) (annotate) - [select for diffs]
Added Thu Apr 5 11:18:42 2007 UTC (7 years ago) by uberlord
File length: 31640 byte(s)
    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.

  Diffs between and
  Type of Diff should be a

Sticky Revision:
(Current path doesn't exist after revision 3108)

  ViewVC Help
Powered by ViewVC 1.1.20