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

Re: Need Reasons for switching to Debian from Redhat



On Sat, Jul 20, 2002 at 11:08:58AM -0500, Jamin W. Collins wrote:
| On Sat, 20 Jul 2002 10:51:12 -0500
| Derrick 'dman' Hudson <dman@dman.ddts.net> wrote:
| 
| > The procedure involves knowing what the user wants.  Step 1 of the
| > procedure is to determine which device node the mouse is hooked into.
| > Step 2 is to determine what protocol the mouse uses.  Step 3 is to
| > determine whether or not to run gpm.  It goes like this :
| > 
| >     1)  point gpm at the mouse device (eg /dev/psaux but depends on
| >             your hardware)
| >     2)  tell gpm the correct protocol to use
| >     3)  set it up in "raw" repeat mode (this _should_ be the default,
| >             but I don't know if it is)
| 
| This is not necessary.  It is but _one_ way to solve the problem.  It is
| possible to have gpm and X both natively controlling the mouse so long as
| you tell gpm _not_ to repeat.  Perhaps this would be a safer default.

You can't have 2 applications reading from a device file.  Trying to
do that creates a race condition and each application only gets part
of the data stream.  Exactly which part and how much each application
gets is undefined (the results of a race condition are always
undefined).

A while ago I created a daemon to read SMDR log data (from a Lucent
phone switch) from the serial port.  When I was testing the
functionality of the system (as we deployed it) I used the mouse to
verify that my program was actually receiving data from the port.
However I had to start gpm to initialize the mouse before I would get
any data.  I then turned off gpm and we hooked in the real data source
and everything was cool.  Then one day it stopped working correctly.
Whenever the daemon would get data that didn't match the format it was
expecting it would record that in syslog.  The problem was that the
beginning of every line was missing.  It turned out that the system
was rebooted one day, and I/we had totally forgotten about gpm.  It
started during the init process, and then it stole some of the data
from my daemon.  Stopping gpm solved the problem.  (I then changed the
config so it couldn't do that again)

| > | The problem is that it's not just that. There are a whole series of
| > | things that don't work unless you know the "tricks".  Tricks
| > | like:
| > 
| > |   Edit source list by hand
| > 
| > This is only necessary if you don't want "stable".  (eg when
| > installing a non-stable branch, which isn't a default anyways)
| 
| Not quite true.  The testing branch up until it was frozen would create a
| sources.list file with testing references.

Testing didn't _have_ an installer, until it was time to test it, and
that definitely wasn't "stable".  You don't test a new installer
unless you _really_ know what you are doing (and _really_ plan on
taking careful notes and submitting proper bug reports).

| For some reason, when testing
| was frozen (or just before), it started creating sources.list files that
| referenced stable instead.

As it should, since if it is frozen then the release is imminent and
the release is "stable".

| Thus, introducing a somewhat confusing bug that no one saw a need to
| fix.

Actually, I think everyone saw a need to fix it.  However the fix was
to make that imminent release actually occur.

-D

-- 
Do not pay attention to every word people say,
    or you may hear your servant cursing you --
for you know in your heart
    that many times you yourself have cursed others.
        Ecclesiastes 7:21-22
 
http://dman.ddts.net/~dman/

Attachment: pgpIGx9eS_tHu.pgp
Description: PGP signature


Reply to: