Bug 20001 - Устройство сидирома удерживается в открытом состоянии
: Устройство сидирома удерживается в открытом состоянии
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/soundkonverter)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2009-05-11 16:54 by
Modified: 2009-06-07 12:54 (History)


Attachments
Закрытие устройства сидирома после прочтения списка треков с него. (1.23 KB, patch)
2009-05-11 16:58, Michael A. Kangin
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2009-05-11 16:54:02
Программа по каким-то причинам не закрывает дивайс сидирома после диалога
добавления в задание аудиотреков. Что обламывает как повторное открытие этого
самого диалога ("диск не найден"), так и запуск cdparanoia на грабление, с
диагнозом, что та не может открыть это устройство эксклюзивно. fuser показывает
удержание устройства pid'ом soundkonverter'a.

Есть воркэраунд:
1. стартуем soundkonverter, добавляем в задание аудиотреки.
2. закрываем soundkonverter и запускаем его заново - при этом задание
сохраняется, но открытия устройство не происходит.
3. Можно грабить.
------- Comment #1 From 2009-05-11 16:58:29 -------
Created an attachment (id=3526) [details]
Закрытие устройства сидирома после прочтения списка треков с него.

Я человек, сиплюсплюсу неученый, что такое конструктор деструктора и его
гарбадж коллектор, не разумею, и должна ли такая конструкция в paranoia.cpp
вызываться автоматически, и почему не вызывается, не знаю:

Paranoia::~Paranoia()
{
        if ( p!=0 ) paranoia_free( p );
        if (d!=0 ) cdda_close( d );
}


Мне помог простенький прилагаемый патчик. Насколько он корректный, не знаю.
------- Comment #2 From 2009-06-07 01:09:06 -------
Спасибо, вроде бы приложил к 0.3.9-alt5 (и автору заслал).
------- Comment #3 From 2009-06-07 12:54:07 -------
great! :)