Date: Sun, 17 Dec 2000 21:19:37 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Tuukka Kalliokoski Message-Id: <9003-Sun17Dec2000211936+0200-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.6 CC: djgpp AT delorie DOT com In-reply-to: (message from Tuukka Kalliokoski on Sun, 17 Dec 2000 20:18:43 +0200) Subject: Re: Problems with LWP 2.0 / djgpp 2.03 References: Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Tuukka Kalliokoski > Newsgroups: comp.os.msdos.djgpp > Date: Sun, 17 Dec 2000 20:18:43 +0200 > > Exiting due to signal SIGSEGV > General Protection Fault at eip=000060b4 > eax=3d4e464c ebx=0013b1b8 ecx=00000001 edx=0013b1bc esi=00000003 > edi=00000001 > ebp=00132f60 esp=00132f54 program=C:\DJGPP\CONTRIB\LWP\EXAMPLE1.EXE > cs: sel=00af base=83397000 limit=00142fff > ds: sel=00b7 base=83397000 limit=00142fff > es: sel=00b7 base=83397000 limit=00142fff > fs: sel=0087 base=00015250 limit=0000ffff > gs: sel=00c7 base=00000000 limit=0010ffff > ss: sel=00b7 base=83397000 limit=00142fff > App stack: [00133000..000b3000] Exceptn stack: [0001354c..0001160c] > > Call frame traceback EIPs: > 0x000060b4 > 0x00001fec > 0x00001806 > 0x00004332 > > C:\djgpp\contrib\LWP> The DJGPP port of LWP is mentioned in section 22.4 of the DJGPP FAQ list. Are you using a ported version? If not, it's quite possible that the code you are using isn't supposed to work with DJGPP. > The program should alternately print MAIN and PROC n as main and 4 > threads execute. As you see, my compilation only executes the main > thread. After keypress the problam should kill the threads and exit, > mine gets a SIGSEGV. What does the program do in each thread? Due to the way signals are implemented in DJGPP, some activities, such as DOS function calls, stop threading until the DOS call returns. > I am running Win98 Ouch, Windows. I'd suggest to try in DOS mode first, with CWSDPMI. Windows has some nasty tricks as far as timer interrupt is concerned (for example, a program that is not in the foreground, doesn't get most of the timer interrupts).