diff options
author | H. Peter Anvin <hpa@zytor.com> | 2011-04-24 20:55:47 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2011-04-24 21:00:19 -0700 |
commit | f180d7c8ec74e0e15f1bcdf25c51899e2ca811c3 (patch) | |
tree | 9aefb37b132625fda83ae27099a6a8e599c115d0 /core/fs/pxe/pxe.c | |
parent | 2948efb24928c01e5935124abb26ecedb55433e8 (diff) | |
download | syslinux-f180d7c8ec74e0e15f1bcdf25c51899e2ca811c3.tar.gz |
pxe: use a separate poll thread instead of using an idle thread hook
The idle thread can never sleep, so it's not really safe to do
anything inside it. Instead, run a separate poll thread at low
priority; we can also do that to poll the serial console if needed.
Overall, the "classic" Syslinux idle handling really should go away
and be replaced by the idle thread.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/fs/pxe/pxe.c')
-rw-r--r-- | core/fs/pxe/pxe.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/core/fs/pxe/pxe.c b/core/fs/pxe/pxe.c index 2bcb27f5..858f573b 100644 --- a/core/fs/pxe/pxe.c +++ b/core/fs/pxe/pxe.c @@ -378,7 +378,7 @@ static void __pxe_searchdir(const char *filename, struct file *file) struct fs_info *fs = file->fs; struct inode *inode; char fullpath[2*FILENAME_MAX]; -#ifdef GPXE +#if GPXE char urlsave[2*FILENAME_MAX]; #endif struct url_info url; @@ -393,13 +393,13 @@ static void __pxe_searchdir(const char *filename, struct file *file) break; strlcpy(fullpath, filename, sizeof fullpath); -#ifdef GPXE +#if GPXE strcpy(urlsave, fullpath); #endif parse_url(&url, fullpath); if (url.type == URL_SUFFIX) { snprintf(fullpath, sizeof fullpath, "%s%s", fs->cwd_name, filename); -#ifdef GPXE +#if GPXE strcpy(urlsave, fullpath); #endif parse_url(&url, fullpath); @@ -424,12 +424,12 @@ static void __pxe_searchdir(const char *filename, struct file *file) /* filename here is set on a redirect */ } -#ifdef GPXE if (!found_scheme) { +#if GPXE /* No URL scheme found, hand it to GPXE */ gpxe_open(inode, urlsave); - } #endif + } if (inode->size) file->inode = inode; |