biggest... check-in... ever...

Pierre A. Humblet
Thu Sep 25 02:12:00 GMT 2003

At 08:37 PM 9/24/2003 -0400, Christopher Faylor wrote:
>On Tue, Sep 23, 2003 at 12:08:58AM -0400, Christopher Faylor wrote:
>>Tomorrow, I will check in my massive rewrite of fhandler stuff to deal
>>with devices in a different way.
>It's checked in.

OK, I just compiled it and the first thing I did was to run a little
benchmark program, attached. It crashes most of the time, but not
under gdb nor under strace. That's all I can say, I don't have the 
time to dig more for now.


~: uname -a
CYGWIN_ME-4.90 hpn5170x 1.5.6(0.94/3/2) 2003-09-24 21:36 i686 unknown
unknown Cygwin
~: cat A.EXE.stackdump 
Exception: STATUS_ACCESS_VIOLATION at eip=6107E2BC
eax=0000000E ebx=00000000 ecx=0000001E edx=18B7FB50 esi=18B7FB58 edi=18B7FB54
ebp=18B7FF78 esp=18B7FB20 program=C:\HOME\PIERRE\A.EXE
cs=016F ds=0177 es=0177 fs=4EBF gs=0000 ss=0177
Stack trace:
Frame     Function  Args
18B7FF78  6107E2BC  (610DEC00, FFFFFFFF, 18B7FFCC, BFF641CF)
18B7FFCC  6100306E  (61003000, 610DEC00, 00000008, 00000000)
10225426 [sig] A 48325943 handle_exceptions: Exception:
10226242 [sig] A 48325943 handle_exceptions: Error while dumping state
(probably corrupted stack)
~: addr2line -e /bin/cygwin1.dll -f 0x6107E2BC
-------------- next part --------------
#include <signal.h>
#include <stdio.h>
#include <unistd.h>

int alarm_seen = 0, user1_seen = 0;
void alarm_handler( int sig)
    alarm_seen = 1;
void user1_handler( int sig)
    user1_seen = 1;

main(int argc, char * argv[])
  int count = 0, idle = 0, period = 10;

  signal(SIGALRM, alarm_handler);
  signal(SIGUSR1, user1_handler);

  while (!alarm_seen) {
    kill(getpid(), SIGUSR1);
    while (!user1_seen) {idle++;}
    user1_seen = 0;
  printf("Handled %d signals in %d seconds, idle %d\n", count, period, idle);

More information about the Cygwin-developers mailing list