summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-11-18make the service running trigger be queued directly after the service was ↵John Crispin
startetd Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-18add a function to add calls to the front of the rcS queueJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-15procd: Allow process respawning foreverHelmut Schaa
Use respawn_retry==0 as indication to respawn a process forever. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-15debloat and reorganize codeJohn Crispin
split app into procd and init binaries remove log support, this is an external service now Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-12add service_validator supportJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-12add data type validatorJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-09bind the console to /dev/null if the real console fails to come upJohn Crispin
this was reported on irc by oc80z Signed-off-by: John Crispin <blogic@openwrt.org>
2013-11-08the automatic service restart should not happen during sysupgradeJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-10-24add hostname option to logreadJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-10-09add a prefix option for messages streamed using logreadJohn Crispin
Signed-off-by: Robin Kuck <robin@basicinside.de>
2013-10-01syslog: fix incorrect use of sizeof() in vsnprintf()Jo-Philipp Wich
2013-09-28syslog() is a blocking call on eglibc. as procd provides the actual syslog, ↵John Crispin
weneed to make sure that we do not run into a deadlock. Signed-off-by: John Crispin <blogic@openwrt.org> Signed-off-by: Markus Stenberg <markus.stenberg@iki.fi>
2013-09-17procd: Exit askfirst on read errorHelmut Schaa
When running askfirst on an unused tty device askfirst starts busylooping forever. Fix this by returning an error if we read an EOF. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
2013-09-13coldplug: remove duplicated includeGabor Juhos
The unistd.h header is inluded twice. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13coldplug: only start hotplug timer after udevtrigger finishedGabor Juhos
Currently the last event timer for hotplug is started after the udevtrigger process is forked. Starting the timer means that the first hotplug event must come in before the timer expires. During this time the kernel must load the binary of the udevtrigger from the underlying rootfs which can be time consuming on slow systems. On such systems, the timer expires before the first hotplug event happens which results in broken behaviour. Due to the missing device nodes, not the ubus nor the procd code works correctly in that case. Change the code to only start the hotplug last event timer after the udevtrigger process finishes. This ensures that the delay caused by accessing the underlying filesystem does not affects the desired behaviour. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: nuke scan_{subdir,class,block} functionsGabor Juhos
These functions are simple wrappers around the 'scan_subdir' function. Remove the wrapper code and use the 'scan_subdir' function directly instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: simplify scan_class functionGabor Juhos
Remove the local directory scanning code and use the scan_subdir function instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: simplify scan_block functionGabor Juhos
Remove the local directory scanning code and use the scan_subdir function instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: simplify scan_subsystem functionGabor Juhos
Remove the local directory scanning code and use the scan_subdir function instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: extend scan_subdir functionGabor Juhos
Add more arguments to the function to make it usable recursively. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: remove superfluous strlcpyGabor Juhos
Use the "/sys/class/block" string directly for the stat call. This makes the code simpler and reduces stack usage. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13udevtrigger: add back directory name check into scan_subdirGabor Juhos
It has been accidentally removed by: commit 824a4b3da2c0be19ccf54a48dcd4c10677b82c1a Author: Gabor Juhos <juhosg@openwrt.org> Date: Tue Sep 10 12:59:25 2013 +0200 udevtrigger: reduce indent level in scan_* functions Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-13fix skewed parameter order in respawn codeJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13execute the "running" hook once the daemon is startedJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13add a way for procd to queue async init.d callsJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13fix a bug in the trigger handling codeJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13remove now unused variableJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13add code to configure respawn via ubusJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-13output the env associated with an instanceJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-10udevtrigger: reduce indent level in scan_* functionsGabor Juhos
Return early from the scan_* functions if the opendir call fails. This allows to reduce the indentation level of the subsequent code by one tab. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-10udevtrigger: rename variables in scan_subdirGabor Juhos
There are only one variable present for a given type. Remove the '2' suffix from the variable names. Also rename the function argument to avoid name collision. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-10udevtrigger: use a helper function for subdir scanningGabor Juhos
The scan_{block,class,subsystem} functions are using identical code for scanning. Move that into a separate function to avoid code duplication. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-10udevtrigger: check presence of dev attributeGabor Juhos
The presence of the 'uevent' attribute file does not always mean that a corresponding device node can be created under '/dev'. For valid device nodes, a 'dev' attribute file must be present which cntains the major and minor numbers of the device. Modify the code to check the presence of the dev attribute as well. This allows to avoid superfluous trigger_uevent calls. On a test system, the patch reduced the number of the triegger_uevent calls from 144 to 70. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-10udevtrigger: add device_has_attribute helperGabor Juhos
Move the code from device_list_insert() into a separate function. This makes it possible to reuse the code for other attribute files. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-10udevtrigger: remove trailing whitespacesGabor Juhos
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-09-03add a ubus handler that allows sending signals to processesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03fix use after free bug in the trigger handling codeJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03add suport for measuring process resource usageJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03fixup service_dump logicJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03trivial code cleanupJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03add respawn handlingJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-03logread: fix the facility name reportingJohn Crispin
http://patchwork.openwrt.org/patch/3978/ Signed-off-by: Mike Brady<mikebrady@eircom.net>
2013-08-16service: terminate uloop after fork(), redirect stdin, out and err to /dev/nullJo-Philipp Wich
2013-08-15hotplug: terminate uloop after fork(), redirect stdin, out and err to /dev/nullJo-Philipp Wich
2013-07-23askfirst: remove superfluous 'close' calls on stdio file descriptors.Yousong Zhou
'dup2' will do it for us if necessary. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2013-07-23Parse only init_debug option with non-empty argument.Yousong Zhou
Matching empty string makes rm_so and rm_eo of struct regmatch_t have the same value, in this case both of them are 11. This causes a call to atoi("\0") whose return value 0 is just the initial value of 'debug'. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2013-07-23Error and return when failing stat('/dev/console').Yousong Zhou
Since mkdev("*", 0600) has been called in early_dev just before early_console, no need to try checking it again. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2013-07-23Fix event type reporting when calling 'procd_shutdown'.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2013-07-22early: remove superfluous close of stdio file descriptorsGabor Juhos
'man dup2' says: dup2() makes newfd be the copy of oldfd, closing newfd first if necessary, but note the following: * If oldfd is not a valid file descriptor, then the call fails, and newfd is not closed. * If oldfd is a valid file descriptor, and newfd has the same value as oldfd, then dup2() does nothing, and returns newfd. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
2013-07-22early: keep stdio files openGabor Juhos
At the end of the 'early_console' function, the file descriptor is closed unconditionally. This 'close' call closes the stdio files if the fd returned by the 'open(dev/console)' call equals with any of the STD{IN,OUT,ERR}_FILENO values. When this happens, all subsequent accesses to the stdio files will fail and early console access won't work. To avoid this, don't close the file descriptor if that equals with any of the STD*_FILENO values. Signed-off-by: Gabor Juhos <juhosg@openwrt.org>