| Message |
Well, I'm just exploring possibilities here. :)
The thing now is to try to find why you don't see the greeting (or do you?). Type "next" and then keep hitting <enter> to make it keep doing a next, and watch what happens. For a couple of dozen lines, this is what I see, by the sound of it your line numbers will be about 5 lower:
(gdb) next
987 if( check_bad_desc( new_desc ) )
(gdb)
992 set_alarm( 20 );
(gdb)
993 alarm_section = "new_descriptor::accept";
(gdb)
994 if( ( desc = accept( new_desc, ( struct sockaddr * )&sock, &size ) )
< 0 )
(gdb)
[New thread 2036.0x5c0]
[New thread 2036.0x600]
1001 if( check_bad_desc( new_desc ) )
(gdb)
1010 set_alarm( 20 );
(gdb)
1011 alarm_section = "new_descriptor: after accept";
(gdb)
1016 if( fcntl( desc, F_SETFL, FNDELAY ) == -1 )
(gdb)
1023 if( check_bad_desc( new_desc ) )
(gdb)
1026 CREATE( dnew, DESCRIPTOR_DATA, 1 );
(gdb)
1027 dnew->next = NULL;
(gdb)
1028 dnew->descriptor = desc;
(gdb)
1029 dnew->connected = CON_GET_NAME;
(gdb)
1030 dnew->outsize = 2000;
(gdb)
1031 dnew->idle = 0;
(gdb)
1032 dnew->lines = 0;
(gdb)
1033 dnew->scrlen = 24;
(gdb)
1034 dnew->port = ntohs( sock.sin_port );
(gdb)
1035 dnew->newstate = 0;
(gdb)
1036 dnew->prevcolor = 0x07;
(gdb)
1037 dnew->ifd = -1; /* Descriptor pipes, used for DNS resolution and such
*/
(gdb)
1038 dnew->ipid = -1;
(gdb)
1039 dnew->can_compress = FALSE;
(gdb)
1040 CREATE( dnew->mccp, MCCP, 1 );
(gdb)
1042 CREATE( dnew->outbuf, char, dnew->outsize );
(gdb)
1044 mudstrlcpy( log_buf, inet_ntoa( sock.sin_addr ), MAX_STRING_LENGTH );
(gdb)
1045 dnew->host = STRALLOC( log_buf );
(gdb)
1046 if( !sysdata.NO_NAME_RESOLVING )
(gdb)
1059 if( check_total_bans( dnew ) )
(gdb)
1071 if( !last_descriptor && first_descriptor )
(gdb)
1081 LINK( dnew, first_descriptor, last_descriptor, next, prev );
(gdb)
1086 write_to_buffer( dnew, will_compress2_str, 0 );
(gdb)
1093 if( help_greeting[0] == '.' )
(gdb)
1094 send_to_desc_color( help_greeting + 1, dnew );
(gdb)
1099 if( ++num_descriptors > sysdata.maxplayers )
(gdb)
You can follow through what is happening by opening another Cygwin window, and navigating to the source, and look in comm.c around line 981. That will show you the whole source. In the example above, various tests are failing and thus it presses on. For example, maybe it is failing something to do with "total bans" or something like that? |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|