Subject: Re: CL version and running minimized
From: david@djwhome.demon.co.uk (David Woolley)
Date: 29/05/2004, 08:50
Newsgroups: alt.sci.seti

Message-ID: <0GStc.14321$Tn6.2113@newsread1.news.pas.earthlink.net>
From: "Michael D. Ober" <obermd.@.alum.mit.edu.nospam>

Conagent is an undocumented "helper" program that DOS Based Windows versions
(95, 98, and ME) use to interface Windows 32-bit command line programs,
Windows 16 bit (Windows 3.x) and DOS applications to the underlying OS.
However, it doesn't handle files properly.  To handle files properly,

That's not true.  The problem is that console mode programs and DOS
box programs don't listen for Windows messages, so they don't know that
the window is being closed until it is too late for them to clean up.
Whilst cleaning up can involve closing files, it can also involve writing
out cached data, etc. (e.g., a hypothetical SETI@Home client could respond
to a Windows close by writing out the state file), and more importantly,
it can make sure that it doesn't stop halfway through writing something
to a file (the S@H clients can, occasionally, lose all their work in
a session because a file is corrupted by being half written, although
some code was added to include the oufile position in the status file to
minimise this problem - this may only be a problem in the CLI version,
as the GUI version does respond to Windows messages and ought not to
see the close request when halfway through writing to files).

including the shutdown problem (SETI doesn't close on shutdown), download
the default.zip file from my SETI Driver site.  Unzip this file into

This doesn't fix the underlying problem, it simply lies to the operating
system that all DOS box applications are safe to be stopped abruptly, without
actually making them safe.  (There is actually no safe option for 
shutting down the S@H client.)

c:\Windows and reboot.  This will fix the shutdown issue in a fully
documented and MS supported method.

I don't believe putting _default.pif in an application directory is 
documented, although it is likely to be safer than putting it in the
Windows system directory, if it works, as it will limit the damage to
the S@H client, which has no options for a clean shutdown, anyway.
Also, if .pif were supposed to be supported for Win32 console mode 
programs, you would be able to create an application specific .pif
file using the attributes menu on the explorer, etc., icon.  (I'd
accept that MS maybe forgot that this particular PIF attribute is
relevant to Win32 console mode programs, as well as DOS programs.)

Whilst the solution probably works, it should not be presented as
a completely clean solution, and should be presented as one that 
suppresses a symptom, rather than fixing a cause.  It should also be
made clear that it can have undesirable side effects on all non-GUI
programs; it is changing a safe, if inconvenient default, into an
unsafe one.  For nearly all SETI@Home users, it will not cause a
problem, but not everyone just uses S@H.