[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in GNU Parted
From: |
Andrew Clausen |
Subject: |
Re: Bug in GNU Parted |
Date: |
Mon, 14 May 2001 07:50:53 +1000 |
Wouter Coene wrote:
> > Exactly. I want to find out why Parted "isn't programmed
> > according to the API".
>
> Well, the code itself strikes me as rather odd, too. In version 1.4.9 (not
> the latest version, but I don't believe that part of the code has changed
> much lately, plus I don't have access to any newer versions right now),
> ped_device_close() (libparted/device.c:812) calls _do_refresh_close()
> (libparted/device.c:738) while decrementing dev->open_count. However, the
> contents of _do_refresh_close() is a mere:
>
> static int
> _do_refresh_close (PedDevice* dev)
> {
> return 1;
> }
Well, there is nothing that needs to be done! The idea is
to keep it abstract.
> I encountered this problem
Which problem?
> in a program I worked on some time ago too, but
> my patch (which is still in the version of parted I use to build said
> program) solved that nicely.
> I think it has something to do with dev->open_count being only incremented
> on the opening of the device by the disk layer, and that somehow right after
> the parted command-line editor is started, unlike the device layer, the disk
> layer remains uninitialized until a command is executed.
Right... ped_disk_open() only happens when you use a disk.
(Motivation: mklabel)
> This would also mean that, since ped_disk_close() closes the device (and
> thus decrements dev->open_count), there must be a small memory leak in the
> parted command line editor at program termination, caused by
> ped_disk_close() not being called for every opened disk "object", otherwise
> this problem would have been noticed earlier.
The bug Charles reported is the opposite... ped_device_close()
was being called too many times.
> ps: sorry about my previous post (which was rather rude I believe). I think
> I'll blame the weather (hot and humid) for that one.
No problems ;-) I do the same thing a bit, when I'm in a hurry :/
Andrew Clausen