Improved handling of stdio pseudo-drives after aborted burn runs

This commit is contained in:
Thomas Schmitt 2014-01-15 17:50:33 +00:00
parent 78627934f3
commit 5676a1953d
4 changed files with 7 additions and 3 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2014.01.15.174741" #define Cdrskin_timestamP "2014.01.15.174907"

View File

@ -426,6 +426,8 @@ fprintf(stderr, "LIBBURN_DEBUG: burn_drive__is_rdwr: getfl_ret = %lX , O_RDWR =
} }
/* flag bit0= ( not needed yet: grab even if it is already grabbed )
*/
int burn_drive_grab_stdio(struct burn_drive *d, int flag) int burn_drive_grab_stdio(struct burn_drive *d, int flag)
{ {
int stat_ret = -1, is_rdwr, ret; int stat_ret = -1, is_rdwr, ret;

View File

@ -168,4 +168,6 @@ int burn_feature_descr_free(struct burn_feature_descr **new, int flag);
int burn_drive_has_feature(struct burn_drive *d, int feature_code, int burn_drive_has_feature(struct burn_drive *d, int feature_code,
struct burn_feature_descr **descr, int flag); struct burn_feature_descr **descr, int flag);
int burn_drive_grab_stdio(struct burn_drive *d, int flag);
#endif /* __DRIVE */ #endif /* __DRIVE */

View File

@ -2860,10 +2860,10 @@ ex:;
close(d->stdio_fd); close(d->stdio_fd);
d->stdio_fd = -1; d->stdio_fd = -1;
/* update media state records */ /* update pseudo-media state records by re-grabbing */
burn_drive_mark_unready(d, 8); burn_drive_mark_unready(d, 8);
burn_drive_grab_stdio(d, 1);
/* <<< d->busy = BURN_DRIVE_IDLE; */
return ret; return ret;
} }