This patch causes minicom to flush the capture file output whenever one of \b \n \r are received... thus causing your logs to be much closer to real-time than when the stdio buffer fills up and gets autoflushed.
Index: Makefile =================================================================== RCS file: /cvs/ports/comms/minicom/Makefile,v retrieving revision 1.46 diff -u -p -u -p -r1.46 Makefile --- Makefile 2006/07/13 06:47:09 1.46 +++ Makefile 2007/05/16 18:20:37 @@ -4,7 +4,7 @@ COMMENT= "MS-DOS Telix-like serial comm VER= 2.00.0 DISTNAME= minicom-${VER}.src -PKGNAME= minicom-${VER}p2 +PKGNAME= minicom-${VER}p3 CATEGORIES= comms MASTER_SITES= ${MASTER_SITE_SUNSITE:=apps/serialcomm/dialout/} Index: patches/patch-src_vt100_c =================================================================== RCS file: patches/patch-src_vt100_c diff -N patch-src_vt100_c --- /dev/null Sat Aug 30 18:16:59 1997 +++ patches/patch-src_vt100_c Wed May 16 18:20:37 2007 @@ -0,0 +1,27 @@ +$OpenBSD$ +--- src/vt100.c.orig Wed May 16 12:12:40 2007 ++++ src/vt100.c Wed May 16 12:14:57 2007 +@@ -960,8 +960,10 @@ int ch; + wputc(vt_win, c); + if (vt_addlf) { + wputc(vt_win, '\n'); +- if (vt_docap == 1) ++ if (vt_docap == 1){ + fputc('\n', vt_capfp); ++ fflush(vt_capfp); ++ } + } + break; + case '\t': /* Non - destructive TAB */ +@@ -1005,8 +1007,10 @@ int ch; + case '\b': + case 7: /* Bell */ + wputc(vt_win, c); +- if (vt_docap == 1) ++ if (vt_docap == 1) { + fputc(c, vt_capfp); ++ fflush(vt_capfp); ++ } + break; + default: + go_on = 1; -- GDB has a 'break' feature; why doesn't it have 'fix' too?