=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/monitor.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- src/usr.bin/ssh/monitor.c 2002/06/19 18:01:00 1.15 +++ src/usr.bin/ssh/monitor.c 2002/06/21 05:50:51 1.16 @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor.c,v 1.15 2002/06/19 18:01:00 markus Exp $"); +RCSID("$OpenBSD: monitor.c,v 1.16 2002/06/21 05:50:51 djm Exp $"); #include @@ -310,8 +310,10 @@ void monitor_sync(struct monitor *pmonitor) { - /* The member allocation is not visible, so sync it */ - mm_share_sync(&pmonitor->m_zlib, &pmonitor->m_zback); + if (options.compression) { + /* The member allocation is not visible, so sync it */ + mm_share_sync(&pmonitor->m_zlib, &pmonitor->m_zback); + } } int @@ -1292,7 +1294,8 @@ sizeof(outgoing_stream)); /* Update with new address */ - mm_init_compression(pmonitor->m_zlib); + if (options.compression) + mm_init_compression(pmonitor->m_zlib); /* Network I/O buffers */ /* XXX inefficient for large buffers, need: buffer_init_from_string */ @@ -1472,11 +1475,13 @@ mon->m_sendfd = pair[1]; /* Used to share zlib space across processes */ - mon->m_zback = mm_create(NULL, MM_MEMSIZE); - mon->m_zlib = mm_create(mon->m_zback, 20 * MM_MEMSIZE); + if (options.compression) { + mon->m_zback = mm_create(NULL, MM_MEMSIZE); + mon->m_zlib = mm_create(mon->m_zback, 20 * MM_MEMSIZE); - /* Compression needs to share state across borders */ - mm_init_compression(mon->m_zlib); + /* Compression needs to share state across borders */ + mm_init_compression(mon->m_zlib); + } return mon; }