2008-08-08 Robert Millan <rmh@aybabtu.com>
* kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'. (grub_last_time): Change type to grub_uint64_t. (grub_disk_open): Migrate code from to using grub_get_time_ms(). (grub_disk_close): Likewise. * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'. (run_menu): Migrate code from to using grub_get_time_ms(). * util/misc.c (grub_get_time_ms): New function.
This commit is contained in:
parent
7f280db554
commit
042bd419da
4 changed files with 35 additions and 12 deletions
12
kern/disk.c
12
kern/disk.c
|
@ -22,13 +22,13 @@
|
|||
#include <grub/types.h>
|
||||
#include <grub/partition.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/machine/time.h>
|
||||
#include <grub/time.h>
|
||||
#include <grub/file.h>
|
||||
|
||||
#define GRUB_CACHE_TIMEOUT 2
|
||||
|
||||
/* The last time the disk was used. */
|
||||
static unsigned long grub_last_time = 0;
|
||||
static grub_uint64_t grub_last_time = 0;
|
||||
|
||||
|
||||
/* Disk cache. */
|
||||
|
@ -215,7 +215,7 @@ grub_disk_open (const char *name)
|
|||
grub_disk_t disk;
|
||||
grub_disk_dev_t dev;
|
||||
char *raw = (char *) name;
|
||||
unsigned long current_time;
|
||||
grub_uint64_t current_time;
|
||||
|
||||
grub_dprintf ("disk", "Opening `%s'...\n", name);
|
||||
|
||||
|
@ -280,10 +280,10 @@ grub_disk_open (const char *name)
|
|||
|
||||
/* The cache will be invalidated about 2 seconds after a device was
|
||||
closed. */
|
||||
current_time = grub_get_rtc ();
|
||||
current_time = grub_get_time_ms ();
|
||||
|
||||
if (current_time > (grub_last_time
|
||||
+ GRUB_CACHE_TIMEOUT * GRUB_TICKS_PER_SECOND))
|
||||
+ GRUB_CACHE_TIMEOUT * 1000))
|
||||
grub_disk_cache_invalidate_all ();
|
||||
|
||||
grub_last_time = current_time;
|
||||
|
@ -315,7 +315,7 @@ grub_disk_close (grub_disk_t disk)
|
|||
(disk->dev->close) (disk);
|
||||
|
||||
/* Reset the timer. */
|
||||
grub_last_time = grub_get_rtc ();
|
||||
grub_last_time = grub_get_time_ms ();
|
||||
|
||||
grub_free (disk->partition);
|
||||
grub_free ((void *) disk->name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue