From 1facc71a35ea02155f53eceee74323bcec736676 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 19 Apr 2004 13:07:55 +0000 Subject: [PATCH] * fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait parameter. Use in call to SetTapePosition. (mtinfo_drive::set_pos): Accomodate _set_pos calls to above change. (mtinfo_drive::set_partition): Ditto. * mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/fhandler_tape.cc | 16 ++++++++-------- winsup/cygwin/mtinfo.h | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index df7cf3eff..2d6d8afbf 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2004-04-19 Corinna Vinschen + + * fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait + parameter. Use in call to SetTapePosition. + (mtinfo_drive::set_pos): Accomodate _set_pos calls to above change. + (mtinfo_drive::set_partition): Ditto. + * mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly. + 2004-04-16 Corinna Vinschen * autoload.cc (NtCreateFile): Add. diff --git a/winsup/cygwin/fhandler_tape.cc b/winsup/cygwin/fhandler_tape.cc index caebaed89..0f3ed0e8f 100644 --- a/winsup/cygwin/fhandler_tape.cc +++ b/winsup/cygwin/fhandler_tape.cc @@ -341,11 +341,11 @@ mtinfo_drive::get_pos (HANDLE mt, long *ppartition, long *pblock) } int -mtinfo_drive::_set_pos (HANDLE mt, int mode, long count, - int partition) +mtinfo_drive::_set_pos (HANDLE mt, int mode, long count, int partition, + BOOL dont_wait) { - TAPE_FUNC (SetTapePosition (mt, mode, partition, count, - count < 0 ? -1 : 0, FALSE)); + TAPE_FUNC (SetTapePosition (mt, mode, partition, count, count < 0 ? -1 : 0, + dont_wait)); dirty = clean; return lasterr; } @@ -378,14 +378,14 @@ mtinfo_drive::set_pos (HANDLE mt, int mode, long count, if (mode == TAPE_SPACE_FILEMARKS) { while (!err && undone > 0) - if (!(err = _set_pos (mt, mode, 1, 0)) || IS_SM (err)) + if (!(err = _set_pos (mt, mode, 1, 0, FALSE)) || IS_SM (err)) --undone; while (!err && undone < 0) - if (!(err = _set_pos (mt, mode, -1, 0)) || IS_SM (err)) + if (!(err = _set_pos (mt, mode, -1, 0, FALSE)) || IS_SM (err)) ++undone; } else - err = _set_pos (mt, mode, count, dont_wait); + err = _set_pos (mt, mode, count, 0, dont_wait); switch (mode) { case TAPE_ABSOLUTE_BLOCK: @@ -546,7 +546,7 @@ mtinfo_drive::set_partition (HANDLE mt, long count) else { int part_block = part (count)->block >= 0 ? part (count)->block : 0; - int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1); + int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1, FALSE); if (err) { int sav_block = block; diff --git a/winsup/cygwin/mtinfo.h b/winsup/cygwin/mtinfo.h index 2dde5be89..4cf92bc26 100644 --- a/winsup/cygwin/mtinfo.h +++ b/winsup/cygwin/mtinfo.h @@ -91,7 +91,7 @@ class mtinfo_drive : ((_dp.FeaturesLow & parm) != 0)); } int get_pos (HANDLE mt, long *ppartition = NULL, long *pblock = NULL); - int _set_pos (HANDLE mt, int mode, long count, int partition); + int _set_pos (HANDLE mt, int mode, long count, int partition, BOOL dont_wait); int create_partitions (HANDLE mt, long count); int set_partition (HANDLE mt, long count); int write_marks (HANDLE mt, int marktype, DWORD count);