Projects STRLCPY criu Commits 80e146da
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■
    criu/include/pagemap.h
    skipped 51 lines
    52 52   void (*skip_pages)(struct page_read *, unsigned long len);
    53 53   int (*sync)(struct page_read *pr);
    54 54   int (*seek_pagemap)(struct page_read *pr, unsigned long vaddr);
     55 + void (*reset)(struct page_read *pr);
    55 56   
    56 57   /* Whether or not pages can be read in PIE code */
    57 58   bool pieok;
    skipped 59 lines
  • ■ ■ ■ ■ ■ ■
    criu/pagemap.c
    skipped 546 lines
    547 547   free_pagemaps(pr);
    548 548  }
    549 549   
     550 +static void reset_pagemap(struct page_read *pr)
     551 +{
     552 + pr->cvaddr = 0;
     553 + pr->pi_off = 0;
     554 + pr->curr_pme = -1;
     555 + pr->pe = NULL;
     556 + 
     557 + /* FIXME: take care of bunch */
     558 + 
     559 + if (pr->parent)
     560 + reset_pagemap(pr->parent);
     561 +}
     562 + 
    550 563  static int try_open_parent(int dfd, int pid, struct page_read *pr, int pr_flags)
    551 564  {
    552 565   int pfd, ret;
    skipped 148 lines
    701 714   pr->skip_pages = skip_pagemap_pages;
    702 715   pr->sync = process_async_reads;
    703 716   pr->seek_pagemap = seek_pagemap;
     717 + pr->reset = reset_pagemap;
    704 718   pr->id = ids++;
    705 719   if (!pr->parent)
    706 720   pr->pieok = true;
    skipped 12 lines
Please wait...
Page is in error, reload to recover