New buffered I/O code crash:
#0 0x080594f2 in client_write (buf=0xb6dc4df0 "250 Message accepted.\r\n", nbytes=23) at sysdep.c:488
488 FD_SET(Ctx->client_socket, &wset);
(gdb) bt
#0 0x080594f2 in client_write (buf=0xb6dc4df0 "250 Message accepted.\r\n", nbytes=23) at sysdep.c:488
#1 0x080596d2 in cprintf (format=0x80c2612 "%s") at sysdep.c:545
#2 0x080b0e48 in smtp_data () at modules/smtp/serv_smtp.c:809
#3 0x080b1f95 in smtp_command_loop () at modules/smtp/serv_smtp.c:893
#4 0x08058af7 in worker_thread (arg=0x0) at sysdep.c:1067
#5 0x080779ef in ctdl_internal_thread_func (arg=0x85832e0) at threads.c:839
#6 0xb7e0b50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb7ac47ee in clone () from /lib/tls/i686/cmov/libc.so.6
hm, ok, since I didn't change anything to client_write, it has to be the other side flipping the fd to -1 if its gone... so we need to check that there.
Should we go dead then asap?