[Melbourne-pm] Detecting Hardware limits / problems
Simon Taylor
simon at unisolve.com.au
Wed Jan 26 15:03:40 PST 2005
Hi David,
> Things i can think of.
>
> Always check the return value of system calls. :) Not really as simple
> as that unfortunately. Failing to open a file for reading _may_ mean
> the hard disk has failed, or that the user has messed up the
> installation of the program. Maybe use some sort of variable to keep
> track of this? On the other hand, i've never seen a seek fail at all,
> and maybe it would only fail if the hard drive failed.
I've found that chekcing the return code of the close() subroutine, (which is
not often bothered with), is invaluable for checking for errors when the
file that was opened is a process, rather than a plain file. In Unixy
environments at least, some unusual error conditions won't be
detected when the "file" is opened with open() but will be detected with
close(). I'm thinking here of pipes failing due to insufficient memory, or
named pipes failing due to lack of disk space. etc....
Can't think of anything else relevant.
- Simon
--
Unisolve Pty Ltd - Melbourne, Australia
+61 3 9568 2005
More information about the Melbourne-pm
mailing list