summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Troan <ewt@redhat.com>2001-10-17 00:53:02 +0000
committerErik Troan <ewt@redhat.com>2001-10-17 00:53:02 +0000
commit2da50675d75deeace3fb62a2c0bc514a5c34c2be (patch)
tree01f648a93f3780add145cbf2ba7f9d34b15cb2bc
parent957abc1fe5063010d00d50818857c497178c8681 (diff)
downloadanaconda-2da50675d75deeace3fb62a2c0bc514a5c34c2be.tar.gz
anaconda-2da50675d75deeace3fb62a2c0bc514a5c34c2be.tar.xz
anaconda-2da50675d75deeace3fb62a2c0bc514a5c34c2be.zip
moved display of scsiWindow() to right around the insmod (makes multiple
module installation cleaner)
-rw-r--r--loader/devices.c5
-rw-r--r--loader/loader.c3
-rw-r--r--loader/modules.c12
3 files changed, 12 insertions, 8 deletions
diff --git a/loader/devices.c b/loader/devices.c
index 8c9fadd0d..d0eabf90d 100644
--- a/loader/devices.c
+++ b/loader/devices.c
@@ -418,13 +418,8 @@ int devDeviceMenu(enum driverMajor type, moduleInfoSet modInfo,
}
}
- if (mod->major == DRIVER_SCSI) {
- scsiWindow(mod->moduleName);
- sleep(1);
- }
rc = mlLoadModule(mod->moduleName, modLoaded,
*modDepsPtr, args, modInfo, flags);
- if (mod->major == DRIVER_SCSI) newtPopWindow();
if (args) {
for (arg = args; *arg; arg++)
diff --git a/loader/loader.c b/loader/loader.c
index 0ee6a309f..10214b648 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -440,12 +440,9 @@ int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps,
if (modList[i]->major == DRIVER_SCSI) {
startNewt(flags);
- scsiWindow(modList[i]->moduleName);
mlLoadModule(modList[i]->moduleName,
modLoaded, modDeps,
NULL, modInfo, flags);
- sleep(1);
- newtPopWindow();
}
}
diff --git a/loader/modules.c b/loader/modules.c
index 68d10cc0c..1f9b1d3cd 100644
--- a/loader/modules.c
+++ b/loader/modules.c
@@ -22,6 +22,7 @@
#include "misc.h"
#include "modules.h"
#include "devices.h"
+#include "windows.h"
struct moduleDependency_s {
char * name;
@@ -300,6 +301,7 @@ static int loadModule(const char * modName, char * path, moduleList modLoaded,
int ethDevices = -1;
pid_t child;
int status;
+ int popWindow = 0;
if (mlModuleInList(modName, modLoaded))
return 0;
@@ -308,6 +310,11 @@ static int loadModule(const char * modName, char * path, moduleList modLoaded,
if (mi->major == DRIVER_NET && mi->minor == DRIVER_MINOR_ETHERNET) {
ethDevices = ethCount();
}
+
+ if (mi->major == DRIVER_SCSI) {
+ scsiWindow(modName);
+ popWindow = 1;
+ }
}
sprintf(fileName, "%s.o", modName);
@@ -375,6 +382,11 @@ static int loadModule(const char * modName, char * path, moduleList modLoaded,
modLoaded->mods[modLoaded->numModules++].args = newArgs;
}
+ if (popWindow) {
+ sleep(1);
+ newtPopWindow();
+ }
+
return rc;
}