Linux-Development-Sys Digest #928, Volume #7      Fri, 2 Jun 00 08:13:13 EDT

Contents:
  Re: Please help me find a Modem Driver (Marc Framboisier)
  Re: Poor performance of IPC on SMP machine ! ("XuYifeng")
  Re: Need ideas for university funded project for linux ([EMAIL PROTECTED])
  Ssci driver problem.. (=?EUC-KR?B?sejH/Lyu?=)
  sysinfo() ("Sudha.K.")
  Re: Detecting whether another process has a file open (Nick Craig-Wood)
  Re: viruses on Linux (Safuat Hamdy)
  Re: Linux Gurus needed ("Christos D. Antonopoulos")
  Reading binary execute / data file? ("Lawrence C. W. Tai")
  mysolution: reading from files (Philip)
  Task swapping and screen output (Jeremy Young)
  Linux pthreads and a safe read/write with timeout (root)
  SQL Executor for ADABAS ([EMAIL PROTECTED])
  Re: GCC EGCS libc libg (Jean Crepeau)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED] (Marc Framboisier)
Subject: Re: Please help me find a Modem Driver
Date: Fri, 02 Jun 2000 02:07:04 GMT
Reply-To: [EMAIL PROTECTED]

Salut Christian Winter ,

>Marina <[EMAIL PROTECTED]> schrob:
>> HELP!!!!!
>
>That's what many people posting in usenet groups need. So no need
>to shout ;-)
>
>> I have a Aztech Labs modem.  It works fine in Windows, but I need
>> a driver to use in Linux.  I am currently running both Win 98 and Mandrake
>> Linux 7.0...
>

You should have a look on 
http://www.o2.net/~gromitkc/20000519a.html

This is a list of model and compatility with Linux.

Marc.




Ciao.
--
Marc Framboisier
[EMAIL PROTECTED]

------------------------------

From: "XuYifeng" <[EMAIL PROTECTED]>
Subject: Re: Poor performance of IPC on SMP machine !
Date: Fri, 2 Jun 2000 12:18:39 +0800


> Your benchmark is not all that realistic because it spends all its time
doing
> meaningless communication rather than real work. A well designed
application
> minimizes its interaction with the kernel to avoid operating system
overhead.
> The question is whether the IPC performance is sufficient in a realistic
> application, not one which spends most of its time executing the IPC code.
>

no, you are wrong, most website are running CGI, pipe is most used IPC!

Regards,
XuYifeng




------------------------------

Crossposted-To: 
comp.os.linux.development,comp.os.linux.development.apps,comp.os.linux.misc,comp.os.linux.advocacy
Subject: Re: Need ideas for university funded project for linux
From: [EMAIL PROTECTED]
Date: Fri, 02 Jun 2000 05:39:07 GMT

[EMAIL PROTECTED] (Christopher Browne) writes:

[comparing forks in software development to religious disputes]

> The Protestant Reformation didn't happen because all was well and
> good; it was a reaction to some _significant problems_ in the Catholic
> Church.

Fine.  If we must have this analogy, many of the original complaints
were addressed - and quickly, by the way - by mainstream Catholicism.
This did not, in any way, lessen the influence of the Protestant
movement.  It just changed what they were protesting, often
inexplicably so.

And let's not forget the Protestant Protestants, if you will.  The
Puritans, for example.

> Similarly, code forks do not occur as an inherent good; they happen as
> what is considered, at least by the reformers, as a "lesser of evils."

The problem being, of course, that there is nearly always zero
communication between the developers on separate sides of the breach.
Thus, even if ideas cross the gap, the patches never do, and the code
ends up evolving in different directions.  It's a natural thing; new
leadership produces new goals.

The reason egcs was reintegrated with gcc is that there was
effectively no development being done on gcc.  This is not a proper
fork at all, because one of the tines stopped immediately.

> There are some of the APIs _within_ Linux (e.g. - VFS, kernel modules)
> where nobody has gotten arrogant enough to consider that they may
> speak "Ex Cathedra" to indicate that they signify "authoritative
> teaching."

Curiously, RH 6.1 on a Debian 2.1 kernel has problems mounting ext2fs
drives.  RH reports an unsupported option that prohibits read-write
mounting.

[distros and forking]

> They are all "suffering" from the fact that the core components
> continue to be developed, and that releases of those components do not
> happen in a "lock step" manner that is well-synchronized with when
> distribution makers decide to "make golden" _their_ releases.

Realistically speaking, do you think development on any software
product stops because the package it's included in goes gold?

Historically, I think that the big distros will release "older"
components (those linked with the previous glibc, for example) rather
than go with a half-and-half approach or delay going gold.

> So long as the distributions have independent "source trees," which
> are being independently updated from the _true_ sources (e.g. -
> periodically pulling updates from what Ulrich Drepper does with
> GLIBC), they will "suffer" from this problem.

I have no problem with distros adding bugfixes and the like to
programs, so long as they're reasonably well-researched and -done.  I
do have a problem with them adding new features or functionality, or
changing things around.

The job of a distribution is to, well, distribute.  Insofar as
modifying certain things makes programs easier to distribute, I'm okay
with it.  But I don't really approve of some of the "enhancements"
that all the distros are occasionally guilty of.

> On the other hand, other components of KDE/GNOME are still pretty much
> of "alpha test" quality.  (Bonobo and GNOME-print come to mind...)

I developed a large hatred for RedHat today after their [GNOME]
installer consistently bombed for no apparent reason.  (And the
installer, in its infinite wisdom, immediately shut down the machine.)

> By the way, the introduction of XFree86 4.0 is going to cause much the
> same problem for distribution makers over the next six months or so.

Good Lord, yes.

Fortunately, the X folks for Debian seem to be taking the proper
approach (that is, "wait and see, and then wait a little longer").
I'd far rather have XF86 4.0 late, and working, than now, and broken.

Not that any of this stopped me from downloading and installing it in
a non-package form.  We'll see what hassles that creates down the
road.

> At this point in time, the 4.0 release is "only really suited to those
> happy to play with code," as it lacks the config tools as well as some
> device drivers that is needed for it to be considered "generally
> available."

Heh.  The only X config tool I've ever used is xf86config, which is
available for XF86 4.0.

> My prediction is that whomever first _sells_ a distribution that
> contains XFree86 is likely to rush it into place _far_ too quickly,
> and that _horrible_ things will be said about them.  RHAT has a
> history of this, to some extent; they adopted GLIBC 2.0, an
> experimental version, and got bashed pretty heavily over the problems
> that arose not only with incompatibilities between GLIBC 2.0 and LIBC
> 5.4.x, but also with the "production" release of GLIBC, 2.1.

Hmm.  I seem to recall reading that Debian pulled the transition off
quickly and quite successfully.  Was I misinformed?

-- 
Eric P. McCoy ([EMAIL PROTECTED])

non-combatant, n.  A dead Quaker.
        - Ambrose Bierce, _The Devil's Dictionary_

------------------------------

From: =?EUC-KR?B?sejH/Lyu?= <[EMAIL PROTECTED]>
Subject: Ssci driver problem..
Date: Fri, 02 Jun 2000 06:16:55 GMT

I make some scsi controller driver.(But it is not real scsi, but
additional ide card.

It can support external disk. So its driver emulate scsi controller and
change scsi

command to ide command.)  As it support external disk box,  its driver
must

support hot pluggable. So, when some disk is removed in external disk
box,

driver must set its state is disconnect, give notice to kernel that that
disk

is disconnected and prohibit to send scsi command to disk . And  then
that disk

is set in external disk, driver must give notice to kernel that disk is
reconnected

and process scsi command to disk again.

How to process disconnect/reconnect state in scsi driver? and how to
give

notice kernel?

Thanks for reading, have a nice weekend!






------------------------------

From: "Sudha.K." <[EMAIL PROTECTED]>
Subject: sysinfo()
Date: Fri, 2 Jun 2000 02:24:03 -0500


Hi,

I am using the sysinfo() function call to collect the load information on
my system running linux 2.2.12. However the information I obtain using
sysinfo does not match with the information printed out by the "w"
command. The man pages however, claim that both of them return the load
averages for 1, 5, 15 minutes. A typical output for the 3 averages is as
follows:

output from w       : 1.0     1.0   1.0
output from sysinfo : 65536  65536  65536


It seems like there is some kind of normalization happening.  Does anyone
know what are the exact units being used by both? I could not find this
info from the man pages. If anyone has a clue as to why this disparity may
be occuring, I would appreciate your help.

thanks
sudha


------------------------------

From: [EMAIL PROTECTED] (Nick Craig-Wood)
Subject: Re: Detecting whether another process has a file open
Date: Fri, 02 Jun 2000 07:55:21 GMT

Charles Blackburn <[EMAIL PROTECTED]> wrote:
> On Wed, 31 May 2000 20:15:56 GMT, Nick Craig-Wood wrote:
> >What I need is a foolproof way of detecting whether another process
> >has a file open on the local machine.  My program needs to process
> >files in a directory after they have been completely written from
> >another process (or possibly from a network file system).
> 
> Well why don't use use shared memory or even a semaphore to indicate
> what resources are being used etc.

I'd like to but I can't change the program which creates the files.

> ad as far as finding all files etc is concerned, you won't if you don't
> have permissions to access them. that's the whole reason behind them :)

Actually it is the owner of the process that has the file open that
determines whether it appears in fuser/lsof not the ownership of the
file.  Usually the owner of the process in question is root wheras the
file is owned by a user.

-- 
Nick Craig-Wood
[EMAIL PROTECTED]

------------------------------

From: Safuat Hamdy <[EMAIL PROTECTED]>
Subject: Re: viruses on Linux
Date: 02 Jun 2000 09:56:46 +0200

[EMAIL PROTECTED] (Mike Dowling) writes:

> I'm curious.  Are there any mail user agents for Linux out there that
> can automatically execute programs?

Netscape has the ability to execute embedded javascript.  I dont't know
whether it does so automatically.  But languages that allow to gain
unrestricted control of your system are a root of evil, thus always turn
them off.

-- 

S. Hamdy                                |  All primes are odd except 2,
[EMAIL PROTECTED]    |  which is the oddest of all.
                                        |
unsolicited commercial e-mail           |  D.E. Knuth
is strictly not welcome                 |

------------------------------

From: "Christos D. Antonopoulos" <[EMAIL PROTECTED]>
Subject: Re: Linux Gurus needed
Date: Fri, 02 Jun 2000 11:18:09 +0300

Julian Ruhe wrote:
> 
> Hi,
> 
> I have a short but, for me, most important question:
> 
> Is it possible under Linux to allocate a 64KB sized block of memory,
> that is PHYSICALLY (not virtually) aligned on 32KB!!! boundaries and
> hanging together in memory (not split by system paging!).
> I need a very clear "yes" or "no" and if possible, "how"!
> 
> Thank you very much
> 
> Julian
> 
> p.s. Reply directly to me also. Thank you!

The answer is YES (at least for the IA32, I am not sure for other
architectures)!

The mapping of virtual memory pages to physical pages is done at a page
granularity. This means that if you ensure that if you ensure that your
memory block is 32KB aligned in the virtual memory page and resides on a
single virtual memory page it will be 32KB aligned and fully contained
in any physical page this virtual page may be mapped to (by the memory
management mechanism).

You can use the memalign function of libc (it is not documented in man
pages, you will only find it in libc documentation).
char *mem_block;

mem_block = memalign(65536, 65536);
                       ^       ^
                       |       |
                  alignment  size of area

This results to a 64KB area aligned to an 64KB boundary (which is a
subcase of  32KB boundary alignement).
If 64Kb alignment is not good for you, and you really need 32KB
alignment, there are solutions but a little bit more complicated
(contact me).

Christos

------------------------------

From: "Lawrence C. W. Tai" <[EMAIL PROTECTED]>
Subject: Reading binary execute / data file?
Date: Fri, 02 Jun 2000 16:33:01 +0800

Hi,

Is there any utilities which can read binary files and display the data
in Linux like PC-Tools in MS-DOS?

Thanks.

Lawrence.

------------------------------

From: Philip <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.development.apps
Subject: mysolution: reading from files
Date: Fri, 02 Jun 2000 10:20:03 GMT

This is a multi-part message in MIME format.
==============AF7632211FA1A11A43CCF1E0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Philip wrote:
> 
> I have a configuration file with lines like this :
> 
> /etc/myfile.conf ->
> 
> chars_a1                chars_b1,chars_b2,chars_b3      chars_c1,charsc1
> chars_a2                chars_b1,chars_b2,chars_b3      chars_c2
> chars_a3                chars_b1,chars_b2               chars_c3
> chars_a4                1,2,3,rrr,5,gg,6,jj,7,7,dd      chars_c3,3,2,1
> 
> I want to put this data in
> char *chars_a, **chars_b, **chars_c;
> 
> for example
> 
> int read_configfile
> {
> char *chars_a, **chars_b, **chars_c;
> FILE *myfile;
> if (fopen (myfile,"r"))
> {
> 
>         while (what_i_need(myfile,&chars_a,&chars_b,&chars_c)!=NULL)
>         {
>                 process_a_configstring(chars_a,chars_b,chars_c);
>         }
> 
> fclose(myfile);
> return 1;
> } else {
>  return 0;
> }
> 
> }
> 
> How do I do this ? I can't find any opensource example and the way I
> would do this is by reading everything char per char and when I find a
> '\t' or a ',' I would write the gathered string to the char .. but I am
> sure that there are better ways ti do this .. so if you know how :)
> please help me out ;o)
> 
> * I don't know the size of the strings
>         (so using fgets() is rather difficult for this case)
> 
> * I don't know how many strings there are for cases char_b and char_c
> 
> --
> Philip van Hoof aka freax         _/_/_/
> http://users.pandora.be/skatan  _/_/  _/ _/_/   _/_/_/    _/_/   _/   _/
> mailto:[EMAIL PROTECTED]        _/_/     _/ _/  _/       _/  _/   _/  _/
> Microsoft OS are bad, and   _/_/_/_/   _/  _/ _/_/    _/_/_/_/   _/_/
> their morals are even worse  _/_/     _/     _/      _/    _/  _/  _/
> (Linus Torvalds 8 Sept.1996)_/_/     _/      _/_/_/ _/    _/ _/     _/

-- 
Philip van Hoof aka freax         _/_/_/                                
http://users.pandora.be/skatan  _/_/  _/ _/_/   _/_/_/    _/_/   _/   _/
mailto:[EMAIL PROTECTED]        _/_/     _/ _/  _/       _/  _/   _/  _/ 
Microsoft OS are bad, and   _/_/_/_/   _/  _/ _/_/    _/_/_/_/   _/_/   
their morals are even worse  _/_/     _/     _/      _/    _/  _/  _/   
(Linus Torvalds 8 Sept.1996)_/_/     _/      _/_/_/ _/    _/ _/     _/
==============AF7632211FA1A11A43CCF1E0
Content-Type: text/plain; charset=us-ascii;
 name="xsu-tmp.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="xsu-tmp.c"

void .... ()
{
    char buff[CFG_MAX_BUFF];
    char *commatokens[CFG_MAX_comma_TOKENS + 1], *tokens[CFG_MAX_tab_TOKENS + 1];
    int num_tokens,num_commatokens,prog_permission=0,user_permission=0,permission=0;
    /* allowf is already open */

    while( !feof(allowf) )
    {
        fgets(buff,sizeof(buff),allowf);
        if (!(strlen(buff) <= 1) && (buff[0] != '#'))
        {
            for(num_tokens = 0;num_tokens < CFG_MAX_tab_TOKENS;num_tokens++)
            {
                tokens[num_tokens] = strtok(num_tokens == 0 ? buff : NULL,"\t");
                if( tokens[num_tokens] == NULL ) break;
            }
            if( num_tokens == CFG_MAX_tab_TOKENS ) tokens[num_tokens] = NULL;

            num_tokens=0;
            while (tokens[num_tokens] != NULL) 
            {
        
                for(num_commatokens = 0;num_commatokens < 
CFG_MAX_comma_TOKENS;num_commatokens++)
                {
                    commatokens[num_commatokens] = strtok(num_commatokens == 0 ? 
tokens[num_tokens] : NULL," ,");
                    if( commatokens[num_commatokens] == NULL ) break;
                }
                
                ++num_tokens;
                num_commatokens=0;
                while (commatokens[num_commatokens] != NULL) 
                {
                    printf(" DEBUG -> 
%d:%d:%s\n",num_tokens,num_commatokens,commatokens[num_commatokens]); 
                }
                ++num_commatokens;
                }                           
            }
         }
    }
}

==============AF7632211FA1A11A43CCF1E0==


------------------------------

From: Jeremy Young <[EMAIL PROTECTED]>
Subject: Task swapping and screen output
Date: Fri, 2 Jun 2000 11:24:08 +0100

Hi Guys & Gals,

As somewhat of a Linux newbie I have a question that may be obvious.

I have a project to build a system which runs multiple telnet sessions 
simultaneously. It must be possible to remotely switch between these 
sessions so as only one session is ever viewed at any one time (Using 
some form of a socket interface).

OK, Simple you say, I essentially bring the desired process to the 
foreground and that's it...But I would like the user to actually be able 
to see what WAS being sent to the telnet session on screen when the swap 
is made - as if the screen had been there the whole time. 

I am thinking that just swapping tasks is not going to allow the user to 
see what WAS happening just prior to the swap.

Is there any way of buffering these telnet sessions so as when the swap 
occurs the screen is rebuilt AS IF the session had been in the 
foreground the whole time?

If another NG is more suitable for this question, please advise and I'll 
repost!

Thanks for any help,

Jeremy

------------------------------

From: root <[EMAIL PROTECTED]>
Subject: Linux pthreads and a safe read/write with timeout
Date: Fri, 02 Jun 2000 14:06:01 +0200


Hi,

perhaps this is old hat to many people,
but I am looking for a safe way to do reads or writes in threads, using
a timeout.

I am thinking of a separate alarm thread that sends signals
to other threads when they are timed-out.

The man page PTHREAD_CANCEL(3) says

=2E..For  system calls at least, there is a workaround. Cancel=AD
       lation requests are transmitted to the  target  thread  by
       sending it a signal...

=2E..So, checking for cancellation during a
       read system call, for instance, can be  achieved  as  fol=AD
       lows:...

   pthread_testcancel();
   retcode =3D read(fd, buffer, length);
   pthread_testcancel();   =


but what happens if the signals is beeing delivered _between_ the first
pthread_testcancel() and the read call?

I think the signal will get "lost", since the read call is not a
cancelation point. -> there will be no timeout on the read?!?

anybody has code fragment, that works 100%?

Thanks, Christian

------------------------------

From: [EMAIL PROTECTED]
Subject: SQL Executor for ADABAS
Date: Fri, 02 Jun 2000 11:27:32 GMT

Hi all,

I'm looking for an SQL EXECUTOR for ADABAS DB that accepts SQL
Statements as input from a file or a pipe, executes and send the
result to a pipe or file also.

Does anybody know, if such a tool exists ?? 

thanks in advance
RF

------------------------------

From: Jean Crepeau <[EMAIL PROTECTED]>
Crossposted-To: linux.dev.gcc,linux.dev,comp.os.linux.questions,linux.dev.kernel
Subject: Re: GCC EGCS libc libg
Date: Fri, 02 Jun 2000 07:37:42 -0400


==============CE6FA600D8787406463ACD28
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

John Gluck wrote:

> 1- There is a Pentium optimised compiler that appears to be based on gcc.
> Is it safe for compiling kernels and libs as well as other apps for
> linux???

To be on the safe side, I would recommend you use the sugested compiler in
Documentation/Changes I believe.

> 3- What is the difference between libc5 libc6 and libg (or is it
> glibc)???

libc5 is the old libc library. It has been replaced by libc6 (AKA glibc2),
but you still need libc5 for older programs. You must be quite careful when
you install libc6 and start using it. If you recompile some of your
libraries and link them to libc6, then all the binaries that use this
library should be recompiled to use libc6... For instance, when
I recompiled X11R6.3 with libc6, all my older X11 binaries would core dump
until I would recompile them as well...

> I need PPOE for the ADSL which I haven't quite gotten working yet. But
> then I haven't really put any effort into it yet.

For PPPoE, you can download the latest version from
http://www.roaringpenguin.com/pppoe.html. I would also suggest that you get
the latest version of PPPD; I'm not sure where I got that from though...

        Jean ;-)


==============CE6FA600D8787406463ACD28
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
John Gluck wrote:
<blockquote TYPE=CITE>1- There is a Pentium optimised compiler that appears
to be based on gcc. Is it safe for compiling kernels and libs as well as
other apps for linux???</blockquote>
To be on the safe side, I&nbsp;would recommend you use the sugested compiler
in Documentation/Changes I believe.
<blockquote TYPE=CITE>3- What is the difference between libc5 libc6 and
libg (or is it glibc)???</blockquote>
libc5 is the old libc library. It has been replaced by libc6 (AKA glibc2),
but you still need libc5 for older programs. You must be quite careful
when you install libc6 and start using it. If you recompile some of your
libraries and link them to libc6, then all the binaries that use this library
should be recompiled to use libc6... For instance, when I&nbsp;recompiled
X11R6.3 with libc6, all my older X11 binaries would core dump until I would
recompile them as well...
<blockquote TYPE=CITE>I need PPOE for the ADSL which I haven't quite gotten
working yet. But then I haven't really put any effort into it yet.</blockquote>
For PPPoE, you can download the latest version from <tt><a 
href="http://www.roaringpenguin.com/pppoe.html">http://www.roaringpenguin.com/pppoe.html</a></tt>.
I would also suggest that you get the latest version of PPPD; I'm not sure
where I got that from though...
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jean ;-)
<br>&nbsp;</html>

==============CE6FA600D8787406463ACD28==


------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.development.system) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to