summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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>
2013-07-14the cloexec logic of the watchdog was brokenJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-14logread should handle return code when sending data over the netJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-11fix wdt cloexec bugJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-11fix up watchdog init codeJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10print services with no instances when verbose is setJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10fix service level triggersJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10make the verbose argument a boolJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10invalid pointer was passed to free()John Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10remove bogus subscriberJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-10remove support fro trigegrs not linked to a serviceJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-09the delete handle should return an error if no service is named instead of ↵John Crispin
killing all services Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-09Fix logread file loggingJohn Crispin
This patch fixes logread and now appends to files instead of writting to the beginning the specified logfile. It also sets the access rights to 0600. Signed-off-by: Peter Wagner <tripolar@gmx.at>
2013-07-09fix up the loging over networkJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-07-08dont list services that have no instancesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>