83690 packages online


No screenshot available
Short:SnoopDos 3.11 sources
Author:ecarroll at (Eddy Carroll)
Uploader:thomas richter alumni tu-berlin de (Thomas Richter)
Download: - View contents


             SnoopDos 3.11 -- System and application monitor

     Copyright © Eddy Carroll, September 1994. Freely distributable.

     Updated on January 2000 by Luca Longone and Massimo Tantignone
                with permission of the original author.

     Updated again on March 2000 by Grzegorz Chmie and Thomas Richter.

     Updated to 3.6 on Febrary 2001 by Thomas Richter.

     Updated to 3.7 on March/April 2001 by Thomas Richter.

     Updated to 3.8 in May 2003 by Oliver Roberts.

     Updated to 3.9 in June 2019 by Thomas Richter.

     Updated to 3.10 in August 2021 by Thomas Richter

     Updated to 3.11 in August 2021 by Thomas Richter

 * VERY IMPORTANT NOTE: this archive contains an updated version of the
 * SnoopDos executable, with the version number bumped to 3.10. This was
 * NOT made by the original SnoopDos author, Eddy Carroll, but instead
 * by Luca Longone and Massimo Tantignone, and Grzegorz Chmie 
 * and Thomas Richter, and Oliver Roberts (with Eddy Carroll's approval).
 * Due to a misguided #define, the 3.10 version did not run from workbench.
 * This was fixed.
 * This release does not change much, it just prevents a superfluous \r
 * character to be printed over the serial console.
 * This release addresses a potential deadlock situation within which one
 * DOS handler attempts to forward a packet to another handler, and upon which
 * the circular dependency creates a situation where handler A waits for
 * handler B, with - within SnoopDos - waits again for handler A to resolve a
 * path. This release is a bit more careful sorting out packets that have been
 * created by handlers.
 * The 3.8 release contains some minor fixes and improvements. The
 * RunCommand() patch could not handle a NULL argptr, which caused hits,
 * so this is now fixed. In relation to that any NULL pointers in the
 * filename field of SnoopDos will now be reported as such so it is
 * possible to differentiate between empty string and NULL pointers in
 * logs.  The source code was also cleaned up a little so it's compilable
 * with the v45 includes. The "Match Name" pattern match code has also
 * been tweaked a little so that it's faster when using a leading not
 * (e.g. "~(ARexx|dnetc#?)") and removed the ParsePatternNoCase()
 * workaround when running on V39 or higher (was a bug in dos, but was
 * fixed in V39).
 * The 3.7 release fixes mainly some cosmetic issues. First of all, the
 * semaphore arbitration time changed from 3.6 to 3.7 and was chosen much
 * smaller, and was made dependent on task priorities. Even though the 3.6
 * should not have deadlocked ever, it might have happened that the System
 * appeared frozen for half a minute due to lots of semaphore timeouts.
 * Furthermore, the 3.7 adds Forbid()/Permit() around FindTask() and FindPort();
 * they are not really required as the corresponding tasks and ports cannot
 * go away in any event, but PatchWork complained about it with a warning.
 * Note that there's no 3.5 update, it was an internal release that never
 * made it to the public.
 * The 3.6 update fixes two major bugs. The first bug is that the LoadSeg()
 * patch did not kept care about overlayed files and therefore might have
 * trashed overlayed programs. Note that LoadSeg() takes actually three
 * arguments and not one!
 * The second bug is even more severe, and is only partially fixed by this
 * release. SnoopDos semaphore handling was and still is extremly fragile.
 * SnoopDos 3.4 and before could have run into a race condition caused by
 * a cycling semaphore lock-up of three partners the patch code did not and
 * cannot check for. SnoopDos, workbench and input device hung then
 * simultaneously.
 * There are other race conditions of this kind, and all of them could only
 * be fixed if the patch code of SnoopDos would be completely re-designed,
 * a job I currently cannot and will not do.
 * Therefore, SnoopDos 3.6 contains a workaround and uses now a semaphore
 * mechanism which may "time out". The net effect is that at least the most
 * common semaphore deadlock should be avoidable now, but at the price that
 * the SnoopDos main window cannot be guaranteed to be 100% accurately up-
 * dated. Hence, in case the main window seems to have forgotten to update
 * its snoop list, or the result codes of some snoop entries are missing, or
 * some reports seem to be missing at all, don't worry! The alternative in 
 * these cases would have been to deadlock your system. As a side effect,
 * the ugly layers semaphore check was disabled now as it is no longer
 * needed, and in fact never really worked as it was unable to detect a
 * cyclic deadlock of three or more partners.
 * This update fixes one feature, and one bug. The feature is that the
 * stack swap code was removed from SnoopDos 3.2 and up, and since people
 * tend not to read the instructions, SnoopDos crashed on some machines due
 * to stack overflow. The 3.4 release checks therefore for its stack size
 * and will increase it to the minimal recommended size.
 * The bug is that a possible race condition when closing the main window
 * was overlooked. The 3.3 and earlier releases could have caused some
 * "hits" in case the main window was closed while some other program run
 * in the patch routines.
 * Additional note: SnoopDos seems to cause some hang-ups if run under
 * CyberGraphics. This is maybe because CGfx does not use the native Amiga 
 * layer system, or uses it in a way different than the Os would. There is
 * nothing I can do against this, currently. It works fine for the native
 * graphics and the P96 software.
 * This update fixes a flaw of the 3.2 release that somehow was unnoticed.
 * The 3.2 release could not be run from Workbench, due to an unexpected
 * re-define of the WBenchMsg variable to _WBenchMsg in some of the SAS/C
 * headers which broke the new startup code. I really did not expect 
 * this, sorry. Except the version number, and a slightly different compiler
 * option, nothing changed.
 * The 3.2 update was made to remove one additional frequent enforcer hit
 * that appeared when the snoopdos patches have been called in the middle
 * of a graphics operation. In that case, RastPort->Layer is NULL'd and
 * the code didn't check. Fixed.
 * Another improvement is that SnoopDos accepts now "NewIcons" style
 * icons correctly for iconification.
 * General house keeping work has been done, one header file has been
 * enlarged to include all the required prototypes, and the code was 
 * recompiled with the registerized parameter option, making it quite
 * noticably shorter. (And maybe quite unnoticably faster as well :-)
 * For the more suspicious people, the updated source code is on Aminet
 * as well (util/moni/snoopdos32_src.lha). 
 * The SnoopDos executable was recompiled for the plain 68000 again because
 * I do not see the point why to go for an 68020 if it is not necessary.
 * The code shrunk anyhow and I do not notice a speed improvement by using
 * the 68020 switch.
 * The original SnoopDos 3.0 documentation is included in this update
 * without any modification, but please note that all references to PGP
 * can't be applied to this update. If you need confirmation about the
 * genuine nature of this update you can ask us or the original author.
 * Luca Longone:       llong at, hexaee at
 * Massimo Tantignone: tanti at
 * Grzegorz Chmie:     gchmiel at
 * Thomas Richter:     thomas.richter at
 * Oliver Roberts:     oliver at
 * Eddy Carroll:       ecarroll at

Contents of util/moni/SnoopDos_Src.lha
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                11796   45282  26.1% -lh5- 0e7b Aug 12 13:31 buffer.c
[unknown]                 1094    2623  41.7% -lh5- 78ec Aug 12 13:31 gui.h
[unknown]                 4741   18349  25.8% -lh5- b7f0 Aug 12 13:31 hotkey.c
[unknown]                 1303    3453  37.7% -lh5- 6827 Aug 12 13:31 icon.h
[unknown]                 1200    2612  45.9% -lh5- 8afa Aug 12 13:31 language.c
[unknown]                53621  251018  21.4% -lh5- 5bb4 Aug 12 13:31 mainwin.c
[unknown]                 1129    3239  34.9% -lh5- c4de Aug 15 15:03 makefile
[unknown]                11418   32871  34.7% -lh5- 317f Aug 12 13:31 miscwin.c
[unknown]                 2163    5168  41.9% -lh5- 9ab9 Aug 12 13:31 patchcode.s
[unknown]                47034  214268  22.0% -lh5- f45d Aug 12 13:31 patches.c
[unknown]                 1236    5007  24.7% -lh5- 75af Aug 12 13:31 patches.h
[unknown]                 4436   10440  42.5% -lh5- 52c4 Aug 12 13:51 Readme.source
[unknown]                  189     312  60.6% -lh5- 7a54 Aug 12 13:31 scoptions
[unknown]                19012   84449  22.5% -lh5- 5ac9 Aug 15 15:01 settings.c
[unknown]                 5520   23125  23.9% -lh5- 9539 Aug 15 15:28 snoopdos.c
[unknown]                15645   64208  24.4% -lh5- 83bd Aug 15 15:11 snoopdos.h
[unknown]                 7900   21021  37.6% -lh5- 72eb Aug 12 13:51 SnoopDos.Roadmap
[unknown]                 3522    8147  43.2% -lh5- 3a53 Aug 15 15:49 SnoopDos_Src.readme
[unknown]                 6820   19179  35.6% -lh5- 269e Aug 12 13:31
[unknown]                 5182   14162  36.6% -lh5- 610e Aug 12 13:31 snooptext.ct
[unknown]                15770   76363  20.7% -lh5- e7bf Aug 15 14:36 snooptext.h
[unknown]                37595  184820  20.3% -lh5- 02f1 Aug 12 13:31 subwin.c
[unknown]                  192     280  68.6% -lh5- b6a0 Aug 12 13:31 system.c
[unknown]                  558    2178  25.6% -lh5- bcbf Aug 15 15:18 system.h
[unknown]                 3032   10709  28.3% -lh5- 115d Aug 12 13:31 testcalls.c
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        25 files  262108 1103283  23.8%            Aug 16 04:52

Aminet © 1992-2021 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>