aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/daemonize.py
AgeCommit message (Collapse)Author
2022-08-12bitbake: Add copyright headers where missingRichard Purdie
Where copyright headers were not present, add them to make things clear. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20daemonize: Fix typo "separate"Zygmunt Krynicki
Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03daemonize: Avoid unclosed file warningRichard Purdie
In theory we can leak the so file descriptor so refactor the code to avoid that. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-25lib: fix most undefined code picked up by pylintFrazer Clews
Correctly import, and inherit functions, and variables. Also fix some typos and remove some Python 2 code that isn't recognised. Signed-off-by: Frazer Clews <frazerleslieclews@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-04bitbake: Add initial pass of SPDX license headers to source codeRichard Purdie
This adds the SPDX-License-Identifier license headers to the majority of our source files to make it clearer exactly which license files are under. The bulk of the files are under GPL v2.0 with one found to be under V2.0 or later, some under MIT and some have dual license. There are some files which are potentially harder to classify where we've imported upstream code and those can be handled specifically in later commits. The COPYING file is replaced with LICENSE.X files which contain the full license texts. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-21daemonize/build: Clean up /dev/null fd handlingRichard Purdie
At the end of bitbake selftest we see: sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='r+' encoding='UTF-8'> Clean up the /dev/null handling to drop the unused entry in build.by and ensure the other open() calls are cleaned up. NULL was unused since http://git.yoctoproject.org/cgit.cgi/poky/commit/bitbake/lib/bb/build.py?id=4a081b5a52e3d27da8d4b062f3fda292e8d8fb0a back in 2012. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04server/process: Various server startup logging fixesRichard Purdie
There were various problems in the server startup loggin: a) stdout/stderr were not being flushed before forking which could potentially duplicate output b) there were separate buffers for stdout/stderr leading to confusing logs where the entries could be reordered. This was particularly confusing due to the separator the logs use to idendify new messages c) an fd wasn't being closed during server startup meaning if the server failed to start, the closed fd wasn't detected as it was held open by the other reference d) If the pipe was detected as being closed, the code incorrectly retried server startup e) The event code would remap stdout/stderr without flushing them, leading to lose log messages Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21daemonize: Flush stdio on exitJoshua Watt
In spite of a comment suggesting otherwise, os._exit() does not flush buffered output from file descriptors before exiting the process like os.exit() does. This means that any un-flushed output is lost in the daemon process, in particular the traceback from any thrown exceptions, making debugging exceptions in the daemon quite difficult. The solution is to flush stdout and stderr before exiting. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-03daemonize: Always print any remaning UI events at exitRichard Purdie
If there are events in the UI queue we want to print them regardless of whether we're handling an exception or something like SystemExit. This improves error messages for some other failure cases where currently no logging would get printed and leave the user confused as to what went wrong. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-31daemonize: clean up codeRichard Purdie
This was originally based on some other code but its mostly misleading comments now. Massively clean this up and accept its now a total fork. There are no funciton changes here, just cleanup. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-31daemonize: Ensure child process exits safelyRichard Purdie
When we create the child, if an exception occurred it was transfering back into the parent context. We don't want to do that us use a try/finally to ensure we exit. We need to ensure a traceback is printed and any queued UI messages which may not have made it to the client UI at this point. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-18daemonize: Various fixesRichard Purdie
Currently if this code is used with something like oeqa's xml logging it fails as sys.stdout is an io stream. Add in try/except to handle this case. Add a waitpid() call to remove a zombie whilst forking. Also, append to the logfile, don't overwrite it (otherwise debugging can be a real pain when the server is restarting for unknown reasons). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-12daemonize/prserv/tests/fetch: Convert file() -> open()Richard Purdie
Use python3 compatible functions. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-24lib/bb/*.py: Typo fixes/grammar/comment fixes, nothing functional.Robert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19daemonize.py: Non-functional comment/aesthetic fixes.Robert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-04-11Apply some 2to3 transforms that don't cause issues in 2.6Chris Larson
Signed-off-by: Chris Larson <chris_larson@mentor.com>
2010-04-09Formatting cleanupsChris Larson
Signed-off-by: Chris Larson <chris_larson@mentor.com>
2009-08-27daemonize: Kill the forcing of umask to 0 in our children.Chris Larson
It forces the daemon umask to the module level UMASK variable, which defaults to 0, so the bitbake daemons end up with a umask of 0. Fixed by setting UMASK to None and making it only run umask when it's not None, so our children will inherit the parent umask Signed-off-by: Chris Larson <clarson@mvista.com>
2007-08-18Add daemonize moduleRichard Purdie