--- a/ExtStream.st Fri Apr 26 09:12:36 1996 +0200
+++ b/ExtStream.st Fri Apr 26 09:36:28 1996 +0200
@@ -999,6 +999,7 @@
__BEGIN_INTERRUPTABLE__
+ errno = 0;
if (__INST(buffered) == true) {
__WRITING__(f)
cnt = fwrite(cp, 1, len, f);
@@ -1166,6 +1167,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
cp = fgets(buffer, sizeof(buffer)-1, f);
} while ((cp == NULL) && (errno == EINTR));
buffer[sizeof(buffer)-1] = '\0';
@@ -1297,6 +1299,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
ret = ioctl(fileno(f), ioNum);
} while ((ret < 0) && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -1342,6 +1345,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
if (__isSmallInteger(arg)) {
ret = ioctl(fileno(f), ioNum, __intVal(arg));
} else {
@@ -1466,6 +1470,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
if (__INST(buffered) == false) {
cnt = read(fileno(f), &byte, 1);
} else {
@@ -2026,6 +2031,7 @@
cnt = fwrite(&c, 1, 1, f);
} else {
do {
+ errno = 0;
cnt = write(fileno(f), &c, 1);
} while ((cnt < 0) && (errno == EINTR));
}
@@ -2105,11 +2111,13 @@
/* do not handle interrupts here.
* fwrite is not ineterruot capable!
*/
+ errno = 0;
__WRITING__(f)
cnt = fwrite(cp, 1, cnt, f);
} else {
for (;;) {
cp = (char *)__InstPtr(anObject) + nInstBytes + offs;
+ errno = 0;
ret = write(fileno(f), cp, cnt);
if (ret < 0) {
if (errno == EINTR) {
@@ -2193,10 +2201,12 @@
__BEGIN_INTERRUPTABLE__
if (__INST(buffered) == true) {
+ errno = 0;
__WRITING__(f)
cnt = fwrite(bytes, 1, 4, f);
} else {
do {
+ errno = 0;
cnt = write(fileno(f), bytes, 4);
} while ((cnt < 0) && (errno == EINTR));
}
@@ -2259,11 +2269,13 @@
__BEGIN_INTERRUPTABLE__
if (__INST(buffered) == true) {
+ errno = 0;
__WRITING__(f)
cnt = fwrite(bytes, 1, 2, f);
} else {
int offs = 0;
do {
+ errno = 0;
cnt = write(fileno(f), bytes+offs, 2-offs);
if (cnt > 0)
offs += cnt;
@@ -2485,6 +2497,7 @@
__READING__(f)
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -2557,6 +2570,7 @@
*/
for (;;) {
do {
+ errno = 0;
ch = getc(f);
} while ((ch < 0) && (errno == EINTR));
@@ -2583,6 +2597,7 @@
len = 0;
for (;;) {
do {
+ errno = 0;
ch = getc(f);
} while ((ch < 0) && (errno == EINTR));
if (ch < 0) {
@@ -2673,6 +2688,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -2743,6 +2759,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
c = getc(f);
} while (c < 0 && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -2767,6 +2784,7 @@
if (c == '!') {
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
c = getc(f);
} while (c < 0 && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -2855,7 +2873,6 @@
__READING__(f)
for (;;) {
- errno = 0;
do {
errno = 0;
if (__INST(buffered) == false) {
@@ -2926,9 +2943,9 @@
__READING__(f)
- errno = 0;
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
__END_INTERRUPTABLE__
@@ -2984,6 +3001,7 @@
__READING__(f)
+ errno = 0;
__BEGIN_INTERRUPTABLE__
if (fgets(buffer, sizeof(buffer)-1, f) != NULL) {
__END_INTERRUPTABLE__
@@ -3027,6 +3045,7 @@
__BEGIN_INTERRUPTABLE__
while (1) {
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
@@ -3088,6 +3107,7 @@
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
@@ -3155,6 +3175,7 @@
__BEGIN_INTERRUPTABLE__
while (1) {
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR));
@@ -3289,6 +3310,7 @@
__BEGIN_INTERRUPTABLE__
do {
+ errno = 0;
c = getc(f);
} while ((c < 0) && (errno == EINTR) && (clearerr(f), 1));
__END_INTERRUPTABLE__
@@ -3498,10 +3520,12 @@
__BEGIN_INTERRUPTABLE__
if (__INST(buffered) == true) {
+ errno = 0;
__WRITING__(f)
cnt = fwrite(cp, 1, len, f);
} else {
do {
+ errno = 0;
cnt = write(fileno(f), cp, len);
} while ((cnt < 0) && (errno == EINTR));
}
@@ -3549,10 +3573,12 @@
__WRITING__(f)
do {
+ errno = 0;
cnt = fwrite(&c, 1, 1, f);
} while ((cnt != 1) && (errno == EINTR));
} else {
do {
+ errno = 0;
cnt = write(fileno(f), &c, 1);
} while ((cnt != 1) && (errno == EINTR));
}
@@ -3639,6 +3665,7 @@
*/
do {
cp = __ByteArrayInstPtr(aCollection)->ba_element + offs;
+ errno = 0;
cc = write(fileno(f), cp, rest);
if (cc > 0) {
cnt += cc;
@@ -3653,6 +3680,7 @@
} while (rest);
} else {
__BEGIN_INTERRUPTABLE__
+ errno = 0;
__WRITING__(f)
cnt = fwrite(cp, 1, len, f);
__END_INTERRUPTABLE__
@@ -3734,10 +3762,12 @@
__BEGIN_INTERRUPTABLE__
if (__INST(buffered) == true) {
+ errno = 0;
__WRITING__(f)
cnt = fwrite(cp+index1-1, 1, len, f);
} else {
do {
+ errno = 0;
cp = __ByteArrayInstPtr(aCollection)->ba_element + offs;
cnt = write(fileno(f), cp+offs, len);
} while ((cnt < 0) && (errno == EINTR));
@@ -3782,6 +3812,6 @@
!ExternalStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.99 1996-04-25 17:02:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.100 1996-04-26 07:36:28 cg Exp $'
! !
ExternalStream initialize!