Replaced -experimental method of closing libburn by burn_drive_info_forget()
This commit is contained in:
parent
a21866bcdc
commit
8e1317e6fd
@ -53,23 +53,23 @@ or switchable. The sysdamin will want it on - but only for one drive.
|
|||||||
So with dev=... cdrskin complies to the spirit of the strong urge.
|
So with dev=... cdrskin complies to the spirit of the strong urge.
|
||||||
Without dev=... it has to leave out the whitelist in order to enable bus
|
Without dev=... it has to leave out the whitelist in order to enable bus
|
||||||
scanning and implicit drive address 0. A tradition of 9 months shall not
|
scanning and implicit drive address 0. A tradition of 9 months shall not
|
||||||
be broken. So burns without dev= will stay possible - and are now harmless.
|
be broken. So burns without dev= will stay possible - but harmless only
|
||||||
|
on single drive systems.
|
||||||
|
|
||||||
*
|
*
|
||||||
Only if the new API compliance is enabled by macro Cdrskin_new_api_tesT .
|
Only if the new API compliance is enabled by macro Cdrskin_new_api_tesT .
|
||||||
There is a flaw to be solved in libburn until new API compliance is in all
|
Not yet by default. In many aspects this is already superior, note well :
|
||||||
aspects as good as the old handcrafted attempt to be sysadmin friendly.
|
|
||||||
In many aspects it is already superior, note well.
|
|
||||||
As soon as the flaw http://libburn.pykix.org/ticket/10 is removed,
|
|
||||||
cdrskin will switch to its new way of API best practice compliance.
|
|
||||||
*
|
|
||||||
|
|
||||||
This is because Cdrskin_grab_drive() enforces a restart of the library
|
Burns without dev= resp. with dev=number are harmless on multi-drive systems.
|
||||||
with the desired drive's persistent address. This restart then really uses
|
|
||||||
the strongly urged function burn_drive_scan_and_grab().
|
This is because Cdrskin_grab_drive() either drops the unwanted drives or
|
||||||
|
it enforces a restart of the library with the desired drive's persistent
|
||||||
|
address. This restart then really uses the strongly urged function
|
||||||
|
burn_drive_scan_and_grab().
|
||||||
Thus, cdrskin complies with the new spirit of API by closing down libburn
|
Thus, cdrskin complies with the new spirit of API by closing down libburn
|
||||||
as soon as the persistent drive address is known and the drive is to be
|
or by dropping unused drives as soon as the persistent drive address is
|
||||||
used with a long running operation. To my knowlege all long running
|
known and the drive is to be used with a long running operation. To my
|
||||||
operations in cdrskin need a grabbed drive.
|
knowlege all long running operations in cdrskin need a grabbed drive.
|
||||||
|
|
||||||
This spaghetti approach seems necessary to keep small the impact of new API
|
This spaghetti approach seems necessary to keep small the impact of new API
|
||||||
urge on cdrskin's stability. cdrskin suffers from having donated the body
|
urge on cdrskin's stability. cdrskin suffers from having donated the body
|
||||||
@ -78,6 +78,7 @@ parts which have been transplanted to libburn in order to create
|
|||||||
achieved by most cdrskin runs. The remaining problem situations should now
|
achieved by most cdrskin runs. The remaining problem situations should now
|
||||||
be defused by releasing any short time grabbed flocks of drives during the
|
be defused by releasing any short time grabbed flocks of drives during the
|
||||||
restart of libburn.
|
restart of libburn.
|
||||||
|
*
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
This program is currently copyright Thomas Schmitt only.
|
This program is currently copyright Thomas Schmitt only.
|
||||||
@ -2312,7 +2313,7 @@ int Cdrskin_grab_drive(struct CdrskiN *skin, int flag)
|
|||||||
"cdrskin_debug: Cdrskin_grab_drive() on active libburn\n"));
|
"cdrskin_debug: Cdrskin_grab_drive() on active libburn\n"));
|
||||||
if(strlen(skin->preskin->device_adr)<=0) {
|
if(strlen(skin->preskin->device_adr)<=0) {
|
||||||
|
|
||||||
#define Cdrskin_drop_drives_by_forgeT 0
|
#define Cdrskin_drop_drives_by_forgeT 1
|
||||||
#ifdef Cdrskin_drop_drives_by_forgeT
|
#ifdef Cdrskin_drop_drives_by_forgeT
|
||||||
|
|
||||||
if(skin->verbosity>=Cdrskin_verbose_debuG)
|
if(skin->verbosity>=Cdrskin_verbose_debuG)
|
||||||
|
Loading…
Reference in New Issue
Block a user