delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/09/22/13:36:49

Date: Wed, 22 Sep 1993 12:35:57 -0400
From: hines-michael AT CS DOT YALE DOT EDU (Michael Hines)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: desqview's select() system call and gcc link time

 
I am almost successful in porting my neuron simulation program from
the unix world to a PC running desqview-x. This program makes use
of the InterViews graphics library from Stanford. I have idraw (a macdraw-
like drawing editor) working and the gui of my program is working
in a rudimentary fashion. However I am having dificulty with the
select() system call that was implemented by desqview in their
socket library. I am trying to wait not only for display events when the
mouse is over a window managed by the program but for keyboard events
when the mouse is in the root dos window. However when InterViews eventually
calls select() with a read file descriptor[0] = 0 (the stdin file descriptor)
it fails and returns with errno=9 which perror claims is "invalid block"
but the errno.h says is Bad file number.
 
I'd appreciate any advice. I'm fearful that this problem will turn
out to be a stone wall that necessitates abandoning the port.
Unfortunately desqview did not publish the source for their socket library
so I don't know if their implementation was even meant to handle this
situation.
 
An unrelated problem is the link time which is 7 minutes for linking
the following libraries
        nrnoc   200k
        oc      210k
        nrniv   200k
        ivoc    681k
        memac    89k
        scpmth  232k
        iv      1740k
        and xext, x, gpl, sys, m, pc
 
My Linux system takes 20 seconds to do the link step so I am guessing
that the problem has to do with too much swapping.
I typed the link command at the DOS window by hand to avoid the
Borland Version 2 Make that I am using but there was no change in link
time. During the link step the desqview memory window shows a change
in available expanded memory from 10488K to 8400K and the disk
seems to be thrashing. I don't have any special arguments set in
the DJGPP environment variables. Is there any pixie dust I can use
that will cause gcc to start using the unused 8400K? (Since desqview
is going I am using the QEMM memory manager)

--Mike Hines



- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019