616a617,639
> # Checkpoint version F renames an internal member of Process class.
> def from_E(cpt):
> import re
> for sec in cpt.sections():
> fdm = 'FdMap'
> fde = 'FDEntry'
> if re.match('.*\.%s.*' % fdm, sec):
> rename = re.sub(fdm, fde, sec)
> split = re.split(fde, rename)
>
> # rename the section and add the 'mode' field
> rename_section(cpt, sec, rename)
> cpt.set(rename, 'mode', "0") # no proper value to set :(
>
> # add in entries 257 to 1023
> if split[1] == "0":
> for x in range(257, 1024):
> seq = (split[0], fde, "%s" % x)
> section = "".join(seq)
> cpt.add_section(section)
> cpt.set(section, 'fd', '-1')
>
>
631a655
> migrations.append(from_E)
632a657,665
> # http://stackoverflow.com/questions/15069127/python-configparser-module-\
> # rename-a-section
> def rename_section(cp, section_from, section_to):
> items = cp.items(section_from)
> cp.add_section(section_to)
> for item in items:
> cp.set(section_to, item[0], item[1])
> cp.remove_section(section_from)
>