diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index 153783b..d3b06e9 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -185,7 +185,7 @@ or #define Cdrskin_libburn_has_convert_fs_adR 1 #define Cdrskin_libburn_has_convert_scsi_adR 1 #define Cdrskin_libburn_has_burn_msgS 1 -#define Cdrskin_libburn_has_burn_aborT 1 +/* Cdrskin_libburn_has_burn_aborT */ /* Cdrskin_libburn_has_cleanup_handleR */ /* Cdrskin_libburn_has_audioxtR */ /* Cdrskin_libburn_has_get_start_end_lbA */ @@ -4076,14 +4076,6 @@ int Cdrskin_abort(struct CdrskiN *skin, int flag) */ int Cdrskin_abort_handler(struct CdrskiN *skin, int signum, int flag) { - -#ifndef Cdrskin_libburn_has_burn_aborT - - int wait_grain= 100000,first_status= 1; - double start_time,last_time,current_time; - -#endif /* ! Cdrskin_libburn_has_burn_aborT */ - struct burn_progress p; enum burn_drive_status drive_status= BURN_DRIVE_GRABBING; @@ -4120,8 +4112,6 @@ int Cdrskin_abort_handler(struct CdrskiN *skin, int signum, int flag) Cdrfifo_close_all(skin->fifo,0); #endif -#ifdef Cdrskin_libburn_has_burn_aborT - /* Only for user info */ if(skin->grabbed_drive!=NULL) drive_status= burn_drive_get_status(skin->grabbed_drive,&p); @@ -4138,109 +4128,7 @@ int Cdrskin_abort_handler(struct CdrskiN *skin, int signum, int flag) burn_abort(-1, burn_abort_pacifier, "cdrskin: "); fprintf(stderr, "cdrskin: ABORT : Urged drive worker threads to do emergency halt.\n"); - return -2; - -#else /* Cdrskin_libburn_has_burn_aborT */ - - if(skin->grabbed_drive!=NULL) { - drive_status= burn_drive_get_status(skin->grabbed_drive,&p); - if(drive_status!=BURN_DRIVE_IDLE && !skin->drive_is_grabbed) - skin->drive_is_grabbed= 2; - if(drive_status!=BURN_DRIVE_IDLE && !skin->drive_is_busy) - skin->drive_is_busy= 2; - if(skin->verbosity>=Cdrskin_verbose_debuG) - ClN(fprintf(stderr,"cdrskin_debug: ABORT : Drive status: %d\n", - (int) drive_status)); - } - if(skin->verbosity>=Cdrskin_verbose_debuG) - ClN(fprintf(stderr, - "cdrskin_debug: ABORT : drive_is_grabbed=%d , drive_is_busy=%d (%X)\n", - skin->drive_is_grabbed,skin->drive_is_busy, - (unsigned int) skin->grabbed_drive)); - - if(skin->drive_is_grabbed) { - if(skin->drive_is_busy && skin->grabbed_drive!=NULL) { - if(drive_status==BURN_DRIVE_WRITING || drive_status==BURN_DRIVE_READING) { - fprintf(stderr,"cdrskin: ABORT : Trying to cancel drive operation.\n"); - burn_drive_cancel(skin->grabbed_drive); - } else if(drive_status==BURN_DRIVE_GRABBING) { - -#ifndef Cdrskin_oldfashioned_api_usE - int ret; - - fprintf(stderr, - "cdrskin: ABORT : Trying to close drive in process of grabbing\n"); - - /* >>> ??? rather inquire driveno from - skin->grabbed_drive->global_index ? */; - - ret= burn_drive_info_forget(&(skin->drives[skin->driveno]),1); - if(ret<=0) - fprintf(stderr, - "cdrskin: ABORT : Attempt to close drive failed (ret= %d)\n",ret); - else { - skin->drive_is_grabbed= 0; - skin->grabbed_drive= NULL; - goto try_to_finish_lib; - } - -#else - /* >>> what to do in this state ? */; -#endif /* Cdrskin_oldfashioned_api_usE */ - - } else if(drive_status!=BURN_DRIVE_IDLE) { - fprintf(stderr, - "cdrskin: ABORT : Will wait for current operation to end\n"); - } - if(drive_status!=BURN_DRIVE_IDLE) { - fprintf(stderr,"cdrskin: ABORT : Abort processing depends on speed and buffer size\n"); - fprintf(stderr,"cdrskin: ABORT : Usually it is done with 4x speed after about a MINUTE\n"); - fprintf(stderr,"cdrskin: URGE : But wait at least the normal burning time before any kill -9\n"); - } - last_time= start_time= Sfile_microtime(0); - while(1) { - drive_status= burn_drive_get_status(skin->grabbed_drive,&p); - if(drive_status==BURN_DRIVE_IDLE) - break; - usleep(wait_grain); - current_time= Sfile_microtime(0); - if(current_time-last_time>=1.0) { - if(first_status) - fprintf(stderr,"\n"); - first_status= 0; - fprintf(stderr,"\rcdrskin: ABORT : Status %d. Waiting for status %d since %d seconds (%d max)", - (int) drive_status, (int) BURN_DRIVE_IDLE, - (int) (current_time-start_time),skin->abort_max_wait); - last_time= current_time; - } - if(current_time-start_time>=skin->abort_max_wait) { - fprintf(stderr, - "\ncdrskin: ABORT : Cannot cancel burn session and release drive.\n"); - return(0); - } - } - fprintf(stderr,"\ncdrskin: ABORT : Status %d.\n",(int) drive_status); - } - fprintf(stderr,"cdrskin: ABORT : Trying to release drive.\n"); - Cdrskin_release_drive(skin,0); - } - -#ifndef Cdrskin_oldfashioned_api_usE -try_to_finish_lib:; -#endif - - if(skin->lib_is_initialized) { - fprintf(stderr,"cdrskin: ABORT : Trying to finish libburn.\n"); - burn_finish(); - } - -#endif /* ! Cdrskin_libburn_has_burn_aborT */ - - fprintf(stderr, - "cdrskin: ABORT : Drive is released and library is shut down now.\n"); - fprintf(stderr, - "cdrskin: ABORT : Program done. Even if you do not see a shell prompt.\n"); - return(1); + return(-2); } diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 1f5318c..87db94b 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2011.10.06.104519" +#define Cdrskin_timestamP "2011.10.06.104908"