gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Nit


From: Dustin Sallings
Subject: Re: [Gnu-arch-users] Nit
Date: Tue, 21 Oct 2003 23:33:44 -0700


On Tuesday, Oct 21, 2003, at 22:06 US/Pacific, Stephen J. Turnbull wrote:

I wish you'd stop with the leading tabs.

        Sorry, this is how they taught me to begin paragraphs.

I have seen very few applications, if any, that consider
ENOSPC a temporary error.  I have a lot of programs that write
to disk.  That's their job.  If there is no space, they cannot
do their job.  What are they supposed to instead?

Wait for more space, usually.

    Dustin>  Can you cite an application (other than something
    Dustin> you've written, apparently) where this actually happens?

Emacs, vi, ae, smail, exim, coda, ghostscript, zsh, and bash are nine
that I use on a daily basis.

When I run ghostscript to write to a filesystem that is out of space, I get the following output:

dustinti:/Volumes/Test 607% gs -sDEVICE=pdfwrite -sOutputFile=tmp.pdf -q -dNOPAUSE -dBATCH ~/Desktop/dl/CLU-syntax.ps
Error: /ioerror in --.outputpage--
Operand stack:
   1   true
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- 0 4 %oparray_pop --nostringval-- --nostringval-- --nostringval-- --nostringval--
Dictionary stack:
--dict:1045/1123(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)-- --dict:112/200(L)--
Current allocation mode is local
Last OS error: 28
Current file position is 242863
AFPL Ghostscript 8.00: Unrecoverable error, exit code 1

        (I get a pdf when I write it to a different partition)

        Other than that, I believe you have two classes of programs:

        Programs with a GUI that are capable of asking the user what to do.
Programs that have a well-defined protocol for passing such errors to a user somewhere.

I'm not sure what ae is, so I don't know if it applies. I've not actually implemented coda, but since it *is* a filesystem, passing the error along makes sense.

In particular, none of these applications wait for more disk as described, they simply report a failure and ask the user (or client) what to do next. This, of course, means ``fatal'' might need to be defined, better. The request was aborted, but the process didn't die. This is pretty much the equivalent of throwing an exception that's caught in the main loop and turned into an error message.

--
SPY                      My girlfriend asked me which one I like better.
pub  1024/3CAE01D5 1994/11/03 Dustin Sallings <address@hidden>
|    Key fingerprint =  87 02 57 08 02 D0 DA D6  C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________





reply via email to

[Prev in Thread] Current Thread [Next in Thread]